81,091
社区成员
发帖
与我相关
我的任务
分享
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置浏览器显示的内容类型为Zip
response.setContentType("application/zip");
//设置内容作为附件下载,并且名字为:export.zip
response.setHeader("Content-Disposition", "attachment; filename= export.zip");
//装饰输出流为Zip输出流
ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());
//客户端发过来的图片名称
String[] picNames = request.getParameterValues("pics");
//读取文件的缓存
byte[] buffer = new byte[1024];
int length = 0;
for (int i = 0; i < picNames.length; ++i) {
//根据图片名称创建图片文件
String imageName = picNames[i];
String imagePath = getServletContext()
.getRealPath("images" + File.separator + imageName);
File f = new File(imagePath);
//向Zip中添加一个条目(也就是添加一个文件)
zos.putNextEntry(new ZipEntry(f.getName()));
//读取文件数据写到ZipOutputStream
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));
while((length = bis.read(buffer))!=-1){
zos.write(buffer);
} //关闭zip条目
zos.closeEntry();
bis.close();
}
zos.flush();
zos.close();
}
<script language="javascript" type="text/javascript">
//js自动下载文件到本地
var xh;
function getXML(geturl)
{
//alert("ll");
xh = new ActiveXObject("Microsoft.XMLHTTP");
xh.onreadystatechange = getReady;
xh.open("GET",geturl,true);
xh.send();
}
function getReady()
{
alert(xh.readyState);
if(xh.readyState==4)
{
if(xh.status==200){
saveFile("d:\mm.exe");
return true;
}
else
{return false;}
}
else
return false;
}
function saveFile(tofile)
{
var objStream;
var imgs;
imgs = xh.responseBody;
objStream = new ActiveXObject("ADODB.Stream");
objStream.Type = 1;
objStream.open();
objStream.write(imgs);
objStream.SaveToFile(tofile)
}
getXML("http://192.168.22.206/servlet");
</script>