使用groovy和java两种方式下载文件文件
来源:互联网 发布:2016年淘宝小模特招聘 编辑:程序博客网 时间:2024/05/19 13:28
groovy方式
def downloadTemplate = { def appPath = servletContext.getRealPath("/").toString() def file = new File(appPath + "template/" + params.fileName) response.setHeader("Content-disposition", "attachment; filename=merTemplate.xls") response.contentType = "application/x-rarx-rar-compressed" response.setCharacterEncoding("utf-8") response.outputStream << file.newInputStream() }
java方式
def downloadTemplate = { try { def appPath = servletContext.getRealPath("/").toString() def file = new File(appPath + "template/" + params.fileName) if(file.length()>0){ response.setHeader("Content-disposition", "attachment; filename=merTemplate.xls") response.contentType = "application/x-rarx-rar-compressed" response.setCharacterEncoding("utf-8") def out = response.getOutputStream() InputStream is = new FileInputStream(file) byte[] buffer = new byte[1024] int i = -1 while ((i = is.read(buffer)) != -1){ out.write(buffer, 0, i) } out.flush() out.close() is.close() } }catch(Exception ex) { ex.printStackTrace() } }
此为Grails项目中代码。
groovy方式应为使用其定义的<<方式,显得实现较为简单,但流的关闭不确定groovy是如何处理的
java方式就是我们比较熟悉了,有文件流的关闭,感觉比较条理清晰。
建议还是使用java这种方式来实现。
0 0
- 使用groovy和java两种方式下载文件文件
- 两种方式文件下载
- 使用WebView实现文件下载的两种方式
- java实现文件下载的两种方式
- java实现文件下载的两种方式
- 文件下载的两种方式
- Spring MVC - 两种文件下载方式
- 文件下载的两种方式
- angualr2 下载文件的两种方式
- java两种常用文件下载实例
- java webapp 几种文件上传和下载方式
- Java文件读写(两种方式)
- java 选择文件的两种方式
- Java文件上传的两种方式
- Java解析XML文件两种方式
- springmvc和servlet下的文件上传和下载(存文件目录和存数据库Blob两种方式)
- Java使用文件流的方式下载文件
- 两种方式实现在百度云上自由下载大文件和文件夹
- hdu 5734(水)
- HDU 5768 Lucky7(2016 Multi-University Training Contest 4 -1005)——中国剩余定理 + 容斥原理
- [leetcode] 6. ZigZag Conversion
- 基于Hadoop生态圈的数据仓库实践 —— 进阶技术(八)
- LeetCode Shortest Palindrome(kmp的妙用)
- 使用groovy和java两种方式下载文件文件
- 整理:C++中sprintf()函数的使用详解
- 题目198 数数
- 说说我自己在window10上配置React Native 的过程和所遇到的坑
- ListView怎么把上一次搜索的结果清空
- UDP浅析!!!(客户-服务通信源码)
- hdu 5735(dp)
- 启动TOMCAT时报java.util.zip.ZipException: invalid LOC header (bad signature)异常
- Android Studio错误 (持续更新中二)