javaWeb 实现文件下载的功能
2016-03-02 17:14
761 查看
本文实现文件下载的功能,已经经过项目实践哈
前端只需要向后台controller传递一个要想下载的文件名或文件名的全路径,此处代码是传的文件名
后台controller代码:
前端只需要向后台controller传递一个要想下载的文件名或文件名的全路径,此处代码是传的文件名
后台controller代码:
@RequestMapping(value = "/downloadQrcode",method = RequestMethod.GET) @ResponseBody public void download(HttpServletRequest request,HttpServletResponse response){ String Qfile = request.getParameter("Qfile"); try{ QRCodeUtil.fileDownLoad(request,response, Qfile); }catch (IOException e) { e.printStackTrace(); Log.error(TAG, e.toString()); } }
public static void fileDownLoad(HttpServletRequest request, HttpServletResponse response, String srcname) throws IOException{ OutputStream os = null; try { os = new BufferedOutputStream(response.getOutputStream()); response.reset(); response.setHeader("Content-Disposition", "attachment; filename="+srcname); response.setContentType("application/octet-stream; charset=utf-8"); String filename = FileConstants.getLocalDir() +"/"+ srcname;//FileConstants.getLocalDir()为服务器上文件的全路径 if(!f.exists()){ //文件不存在 return; } os.write(FileUtils.readFileToByteArray(f)); os.flush(); } finally { if (os != null) { os.close(); } } }
相关文章推荐
- jre、jdk版本的选择
- Java中SimpleDateFormat类parse解析yyyy-MM-dd与yyyy-M-d是否可以混用
- java5中的 Map 与线程安全
- Java并发编程:深入剖析ThreadLocal
- SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-004-消除bean自动装配的歧义@Primary
- 使用Java进行FreeMarker的web模板开发的基础教程
- SpringMVC详细实例
- 【java学习笔记】泛型
- Java中getResourceAsStream的用法
- Spring 配置定时器(注解+xml)方式—整理
- java内存机制解析
- Spring 事务配置
- MyBatis(3.2.3) - Integration with Spring
- 有关volatile关键字和transient关键字
- Java RSA格式 转换与运算
- spring学习必备设计模式之工厂模式
- RxJava 过滤操作符 skip,skipLast,task,takeLast
- java--方法重写与重载
- java 中 FTP通信 问题总结
- spring+springmvc+mybatis(mysql/sqlserver)框架搭建