基于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文件的代码:

(但是在下载文件的时候,一直碰到了一个小问题,就是浏览器一直没有响应,下载窗口一直打不开,于是就把生成文件和下载文件分开来写,做了两个请求,下载文件的时候重新请发送请求,这样就不会出现问题了)

 

posted @ 2017-05-18 17:10  ssc在路上  阅读(514)  评论(0)    收藏  举报