我一直在开发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);
假设您的代码可以编译:
如果您已经在提取一个zip文件,则无需再次通过ZipInputStream传递它。
像这样的东西http://www.avajava.com/tutorials/lessons/how-do-i-serve-up-a-pdf-from-a-servlet.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句