例如,我想在一个响应中下载一个zip文件和一个csv文件.除了在一个zip文件中压缩这两个文件之外,还有什么办法吗?
解决方法:
尽管ServletResponse不是为了做到这一点,但我们可以通过编程方式调整它来发送多个文件,除IE之外的所有客户端浏览器似乎都能正确处理.下面给出了示例代码段.
response.setContentType("multipart/x-mixed-replace;boundary=END");
ServletOutputStream out = response.getOutputStream();
out.println("--END");
for(File f:files){
FileInputStream fis = new FileInputStream(file);
BufferedInputStream fif = new BufferedInputStream(fis);
int data = 0;
out.println("--END");
while ((data = fif.read()) != -1) {
out.write(data);
}
fif.close();
out.println("--END");
out.flush();
}
out.flush();
out.println("--END--");
out.close();
这在IE浏览器中不起作用.
N.B – 尝试不包括Catch块
标签:java,http,servlets
来源: https://codeday.me/bug/20191007/1867507.html