基于REST服务的Jersey框架中文件下载
在Jersey框架中,完全基于接口的形式,不需要例如Struts、mybatis等于前台交互的框架,只需要配置好web.xml文件,知道访问的URL地址就能完成Struts的功能,所以Jersey框架是非常轻量级,适用性强,使用简便的一种技术。在项目中存在大量的文件下载的小模块,就不能不知道Jersey框架中的文件下载了,于是把项目中使用的一些文件下载的方法记录下来,方便以后学习使用,同时也给一些遇到此类麻烦的同志提供解决办法。
废话少说,开始吧!
文件下载,首先你得知道文件在那里吧?一般在项目中,文件一般是在线生成,然后供用户下载,把生成的文件临时存在服务器上,然后从服务器上进行文件的下载,下载完之后,在进行服务器上的文件清空。这里就只是说明文件的下载了。
1、直接返回字节数组

2、返回Response响应

这两种情况下是文件已经存在的情况下,对于@Produce这个注解后面的值,我也不是特别清楚,这也是看我们老大写的,目前我知道的有如下几种:
Word 文件 @Produce("doc/*")
Excel 文件 @Produce("xls/*")
图片文件 @Produce("image/*")
PDF文件 @Produce("pdf/*")
我自己写的下载Excel文件的代码:
(但是在下载文件的时候,一直碰到了一个小问题,就是浏览器一直没有响应,下载窗口一直打不开,于是就把生成文件和下载文件分开来写,做了两个请求,下载文件的时候重新请发送请求,这样就不会出现问题了)


浙公网安备 33010602011771号