赞
踩
- Resource resource = new PathMatchingResourcePatternResolver().getResource("demo/import-zip-demo.zip");
-
- File file = resource.getFile();
这边的resource是Resource
类型的变量,刚开始我使用了resource.getFile()
方法获取到File对象然后再采用IO流进行操作,即:
File file = resource.getFile();
在IDE中运行是完全没有问题的,但使用mvn打包成jar包后,再运行就会提示ERROR:
java.io.FileNotFoundException
后来查阅了资料说:一旦打成jar包后,使用File
是访问不到资源的内容的,应该直接使用getInputStream()
的方法进行输出,修改后:
- public void downloadImportZipDemo(HttpServletResponse response) throws IOException {
- response.reset();
- response.setContentType("application/zip");
- response.setHeader("Content-Disposition", "attachment; filename=demo.zip");
- Resource resource = new PathMatchingResourcePatternResolver().getResource("demo/import-zip-demo.zip");
-
- // 输出附件
- byte[] fileBytes = IOUtils.toByteArray(resource.getInputStream());
- response.addHeader("Content-Length", "" + fileBytes.length);
- IoUtil.write(response.getOutputStream(),true,fileBytes);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。