首先在一个ACTION中,如果判断有权限进行文件下载。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网络空间、营销软件、网站建设、淮阴网站维护、网站推广。
1、读出该下载文件,并生成一个流。这是WebWork文件下载的***步,文件名应当从请求的request中读出,或从用户的表中取出。
- public String downLoadFile(String fileName)
- {
- try {
- File input = new File("e:/engilish
- literature.doc");
- docStream = new FileInputStream(input);
- contentDisposition = "filename=\"test.txt\"";
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return "download";
- }
2、将输出导向到一个特殊的RESULT中去。在WebWork文件下载中叫做Steam Result。
- "com.job2easy.web.user.RegisterAction">
- name="success" type="dispatcher">
- name="location">/home
- /register-result.jsp
- name="input">
- name="location">/home/register.jsp
- name="download" type="stream">
- name="contentType">application
- /x-msdownload
- name="inputName">docStream
- name="bufferSize">1024
- name="contentDisposition">$
- {contentDisposition}
- name="params"/>
- action>
3、WebWork文件下载参数。这中间有几个参数需要配置:
◆contentType设成 application/x-msdownload 就可以。这样浏览器会保证弹出一个下载文件的对话框。
◆inputName 这个比较重要,这个名字是输入流的名称, 以后要steam result的实现类中为根据OGNL的表达式去查找的。
◆contentDisposition 这个是下载之后,保存在用户端的文件名称。
◆${contentDisposition} 看一下代码。如果写成上述的方式,就有机会在ACTION中设置文件名。
4、另外一个参数:contentLength就是下载文件的大小,webwork的stream result似乎实现有问题,不能根据文件的大小动态进行设置,只能写死。
这个参数的意义是告诉浏览下载的文件有多大,以便浏览器正确的显示进度条。如果这个功能很重要的话,可以重新写一个RESULT来实现。
【编辑推荐】
网站题目:WebWork文件下载
链接分享:http://www.shufengxianlan.com/qtweb/news31/486281.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联