我一直在开发一个 java web 应用程序,我想添加一个下载功能。我想下载位于“C:\apache-tomcat-6.0.36\webapps\xml\XML.zip”中的 zip 文件。我已将文件转换为 InputStream,但我仍然对如何从 InputStream 获取输入流数据感到困惑?
当我单击下载按钮时,它会返回 zip 文件的 0(零)字节
这是处理下载 zipfile 的控制器:
@RequestMapping("download")
public String Download(HttpServletResponse response) {
ZipInputStream zis = null;
try {
InputStream is = new FileInputStream("C:\\apache-tomcat-6.0.36\\webapps\\xml\\XML.zip");
zis = new ZipInputStream(is);
response.setHeader("Content-Disposition", "inline;filename=\"" + "XML.zip" + "\"");
OutputStream out = response.getOutputStream();
response.setContentType("application/zip");
IOUtils.copy(zis.getInputStream, out);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
此行导致零字节 zip 文件:
IOUtils.copy(**zis.getInputStream**, out);