WebWork文件下载
创始人
2024-04-14 17:20:28
0

首先在一个ACTION中,如果判断有权限进行文件下载。

1、读出该下载文件,并生成一个流。这是WebWork文件下载的***步,文件名应当从请求的request中读出,或从用户的表中取出。

  1. public String downLoadFile(String fileName)  
  2. {  
  3. try {  
  4. File input = new File("e:/engilish   
  5. literature.doc");  
  6. docStream = new FileInputStream(input);  
  7. contentDisposition = "filename=\"test.txt\"";  
  8. } catch (FileNotFoundException e) {  
  9. // TODO Auto-generated catch block  
  10. e.printStackTrace();  
  11. }    
  12. return "download";  

2、将输出导向到一个特殊的RESULT中去。在WebWork文件下载中叫做Steam Result。

  1. "com.job2easy.web.user.RegisterAction">  
  2. name="success" type="dispatcher">  
  3. name="location">/home  
  4. /register-result.jsp  
  5.  
  6. name="input">  
  7. name="location">/home/register.jsp  
  8.  
  9.  
  10. name="download" type="stream">  
  11. name="contentType">application  
  12. /x-msdownload  
  13. name="inputName">docStream  
  14. name="bufferSize">1024                
  15. name="contentDisposition">$  
  16. {contentDisposition}  
  17.  
  18. name="params"/>  
  19. action> 

3、WebWork文件下载参数。这中间有几个参数需要配置:  

◆contentType设成 application/x-msdownload 就可以。这样浏览器会保证弹出一个下载文件的对话框。 

◆inputName 这个比较重要,这个名字是输入流的名称, 以后要steam result的实现类中为根据OGNL的表达式去查找的。  

◆contentDisposition 这个是下载之后,保存在用户端的文件名称。

◆${contentDisposition} 看一下代码。如果写成上述的方式,就有机会在ACTION中设置文件名。

4、另外一个参数:contentLength就是下载文件的大小,webwork的stream result似乎实现有问题,不能根据文件的大小动态进行设置,只能写死。    
这个参数的意义是告诉浏览下载的文件有多大,以便浏览器正确的显示进度条。如果这个功能很重要的话,可以重新写一个RESULT来实现。

【编辑推荐】

  1. WebWork注入Servlet方法详解
  2. WebWork中返回INPUT的原因
  3. WebWork如何实现文件上传配置过程
  4. 通过WebWork实现HelloWorld
  5. WebWork与Spring+Hibernate的整合

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...