我可以在一个HttpServletResponse中附加多个附件吗

例如,我想在一个响应中下载一个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浏览器中将无法使用。注意:不包括尝试捕获块

以上是 我可以在一个HttpServletResponse中附加多个附件吗 的全部内容, 来源链接: utcz.com/qa/407361.html

回到顶部