java下载文件功能(下载路径可选) 及其文件拷贝方法 (转载)
2017-12-08 09:38
435 查看
▼
@RequestMapping(value="downLoadZip/{fileName}" ,method = RequestMethod.GET) private String getZipFile(RedirectAttributes redirectAttributes,@PathVariable("fileName")String fileName,HttpServletResponse response,HttpServletRequest request){ // request.getRealPath("res/tempPaperDB/ System.out.print("fileName:"+fileName); String message="下载成功!"; response.setHeader("Cache-Control", "private");
//获取全路径 String fileNameAll=request.getRealPath("res/tempPaperDB/"); System.out.print("fileNameAll"+ fileNameAll); response.reset();//设置为没有缓存 response.setContentType("application/x-download;charset=GBK"); response.setHeader("Content-Type", "application/force-download");
String title1 = DownloadUtil.processFileName(request, fileName);response.setHeader("Content-disposition", "attachment;filename="+ title1+".zip");try {
//输入流InputStream fis = new BufferedInputStream(newFileInputStream(fileNameAll+"/"+fileName+".zip"));byte[] buffer = new byte[fis.available()];
fis.read(buffer);fis.close();OutputStream toClient = new BufferedOutputStream(response.getOutputStream());toClient.write(buffer);toClient.flush();toClient.close();}catch (Exception e){e.printStackTrace();message="下载失败!";}redirectAttributes.addAttribute("message",message);return "roo/paperdbcreatevf";}
此方法会存在问题,后台会报错,原因由于response.getOutputStream()和response.getWriter()重复使用,不允许这样使用,顾需要加两行代码可解决此问题:
out.clear();out = pageContext.pushBody();
又因out对象只能在jsp中使用,顾将此代码拿到jsp中实现,并且需在最前面加上
out.clear();
out = pageContext.pushBody();
------------------------------------------------------------------------------------------
2,文件拷贝
将文件拷贝到某个路径下面:
commons.io.FileUtils.copyFile(“a/a.jpg”,“b/a.jpg”);//注意一定是具体某个文件
拷贝文件下文件到另外一个文件夹下:
commons.io.FileUtils.copyFileToDirectory();
相关文章推荐
- 【转载】Java如何实现文件打包下载功能
- ASP.NET中文件上传下载方法集合[转载与aspcool] (转)
- [转载]ASP.NET中常用的文件上传下载方法
- java提供文件下载的方法
- [转载]java.lang.OutOfMemoryError: PermGen space及其解决方法
- C#隐藏文件下载路径的方法
- ASP.NET中文件上传下载方法集合[转载与aspcool]
- ASP和C#隐藏文件下载路径的方法
- Java实现文件拷贝的4种方法.
- java提供文件下载的方法
- Java读取文件路径的几种方法
- .net中下载文件的方法(转载)
- datagrid数据导出到excel文件给客户端下载的几种方法 (转载)
- Java实现文件下载功能
- 文件上传下载:通过java方法把附件保存到clob字段中
- ASP和C#隐藏文件下载路径的方法
- 寻找最快的大文件拷贝方法 (转载)
- 关于Java文件路径问题 [转载]
- (转载)datagrid数据导出到excel文件给客户端下载的几种方法
- [转载]ASP.NET中常用的文件上传下载方法