js界面
function editCustomer(ipid) {
$.getJSON("1111/2222.html", {//上传路径
ipid : ipid
}, function(data) {
alert(data)
});
}
页面信息
<a href="javascript:void(0)" onclick="editCustomer(2)">文件下载</a>
后台操作
List<String> filePaths = new ArrayList<String>();
List<Object[]> fileList = f12022ServiceImpl.getFileInfo(params);//获取文件路径
//循环得出路径加到集合里
if (fileList != null && fileList.size() > 0) {
fileName = (String) fileList.get(0)[3];
filePath = (String) fileList.get(0)[5];
fileServerName = (String) fileList.get(0)[4];
System.out.println(filePath+fileServerName);
filePaths.add(filePath+fileServerName);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
//下载到那个位置
String desPath = "C:\\Users\\Administrator\\Desktop\\DownLoad.zip";
File zipFile = new File(desPath);
ZipOutputStream zipStream = null;
FileInputStream zipSource = null;
BufferedInputStream bufferStream = null;
try {
//构造最终压缩包的输出流
zipStream = new ZipOutputStream(new FileOutputStream(zipFile));
for (String string : filePaths) {
File file = new File(string);
//将需要压缩的文件格式化为输入流
zipSource = new FileInputStream(file);
//压缩条目不是具体独立的文件,而是压缩包文件列表中的列表项,称为条目,就像索引一样
ZipEntry zipEntry = new ZipEntry(file.getName());
//定位该压缩条目位置,开始写入文件到压缩包中
zipStream.putNextEntry(zipEntry);
//输入缓冲流
bufferStream = new BufferedInputStream(zipSource, 1024 * 10);
int read = 0;
//创建读写缓冲区
byte[] buf = new byte[1024 * 10];
while((read = bufferStream.read(buf, 0, 1024 * 10)) != -1)
{
zipStream.write(buf, 0, read);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//关闭流
try {
if(null != bufferStream) bufferStream.close();
if(null != zipStream) zipStream.close();
if(null != zipSource) zipSource.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}