请教关于struts2附件下载的功能

问题描述

按照网上的方法写好了ACTION 方法和配置文件.但是点下载的时候不能弹出保存对话框,后台也不报错.是怎么回事啊.<actionname="download"class="downloadAction"method="getexecute"><resultname="success"type="stream"><paramname="inputPath">/upload/</param><paramname="contentType">application/octet-stream;charset=ISO8859-1</param><paramname="inputName">inputStream</param><paramname="contentDisposition">attachment;filename="${downFileName}"</param><paramname="bufferSize">4096</param></result></action>DownloadAction  privateStringfileName;privateStringinputPath;privateInputStreaminputStream;privateStringdownFileName;publicStringgetFileName(){returnfileName;}publicStringgetInputPath(){returninputPath;}publicvoidsetInputStream(InputStreaminputStream){this.inputStream=inputStream;}publicInputStreamgetInputStream(){returninputStream;}publicStringgetDownFileName(){returndownFileName;}publicvoidsetDownFileName(StringdownFileName){this.downFileName=downFileName;}publicStringgetexecute()throwsException{Chanceattachanceatta=chanceattaService.getChanceatta(chanceattid);intattachmentid=chanceatta.getAttachment().getAttachmentid();Attachmentattach=attachmentService.getAttachment(attachmentid);fileName=attach.getFilename();Stringurl="/upload/"+attach.getFilename();intsize=url.length()-1;for(inti=0;i<size;i++)url=url.replace("\","/");System.out.println(ServletActionContext.getServletContext().getResourceAsStream(url));inputStream=ServletActionContext.getServletContext().getResourceAsStream(url);this.setInputStream(inputStream);downFileName=fileName;downFileName=newString(downFileName.getBytes(),"ISO8859-1");this.setDownFileName(downFileName);System.out.println("///");returnSUCCESS;}publicvoidsetInputPath(StringinputPath){this.inputPath=inputPath;}publicvoidsetFileName(StringfileName){this.fileName=fileName;}

时间: 2024-08-03 15:16:09

请教关于struts2附件下载的功能的相关文章

要用ASP.NET实现邮箱中附件下载的功能

asp.net|下载 搞了好久也没有搞通,网上有很多事例都是一样的:IE支持的文件就会直接打开,而其它的像ZIP之类的文件不识别,就会弹出下载或打开的对话框.突然一想是不是有什么文件筛选的问题,果然在写文件之前将Filter清除就可以像附件一样使用了. VB.net:  Dim filename As String =  "a.txt"          If filename <> "" Then             Dim path As Str

下载提示-请教,csdn的下载频道的提示用户下载了资源的功能怎么实现的,数据库太大了,不能直接调数据

问题描述 请教,csdn的下载频道的提示用户下载了资源的功能怎么实现的,数据库太大了,不能直接调数据 csdn的下载频道的提示用户下载了资源的功能怎么实现的,数据库太大了,不能直接调数据,请教一下 解决方案 数据库太大了就不能调数据了,你用的数据库难道是玩具么?不通过数据库怎么知道用户是否下载了资源?难道靠猜么?难道你根本不知道数据库是怎么一回事?比如如何设计合理的表结构以及建立索引? 解决方案二: 一般是服务器做记录,想减轻服务器负担用客户端的dom存储也行,但是数据不持久,客户端可以清除.D

struts2的导出excel功能,使用迅雷下载第一次可以正常下载,第二次下载的是xxxx.action文件,使用浏览器自身下载时每次都是正常的

问题描述 使用struts2的导出excel功能,使用迅雷下载第一次可以正常下载,第二次下载的是xxxx.action文件,使用浏览器自身下载时每次都是正常的,求怎么破? 解决方案 解决方案二:配置输出http文件类型head...输出文件要有自定义名称...解决方案三:把你的代码贴出来看看嗯

QQ邮箱附件预览功能评测

所谓邮件附件预览,即不用下载邮件中的附件,通过web页面,以在线的方式就可读取其中的内容;此功能在很多时候极大的方便了没有安装相应软件的用户,对于异地登录邮箱用户,更是一项不错的服务.不过,谈到邮箱附件预览,在2010年,网易邮箱已经实现,并全面在旗下个人邮箱产品铺开,申请开通即可体验.如今,QQ邮箱亦开放了此项功能,接下来我们就体验一下,QQ邮箱的附件在线预览功能到底如何? 测试文档类型: 从下图可以看出来,在附件区域,与以往相比,多了一个"附件预览"的按钮,并且在每一个附件的下方都

文档-做一个email系统,做个附件在线打开功能

问题描述 做一个email系统,做个附件在线打开功能 做一个email系统,做个附件在线打开功能,怎么实现,求高人解答,可以调用本地机器上的对应软件么?还是用其他的,如果用其他的有没有详细的文档,谢谢大师 解决方案 用客户端上的软件打开本身是浏览器天然支持的.不需要任何代码就能实现.只要你提供下载即可. 在线浏览要看什么文件,图片可以直接显示,word pdf可以用flashpaper

c# 附件-如何在c#窗体程序中添加像outlook附件类似的功能

问题描述 如何在c#窗体程序中添加像outlook附件类似的功能 各位大神们,请教一个问题,如何在c#窗体程序中添加像outlook附件类似的功能,上传一份附件,在窗体中显示文件名,双击可以打开相关软件打开文件?求大神给点思路,c#可以做到么? 我是新手,没有币 不能悬赏啊 求大神赐教-- 解决方案 说白了,带附件的邮件用的是mime格式的文件,你也可以用它.有很多mime解析的库,比如http://www.codeproject.com/Articles/11380/A-C-Implement

迅雷7单任务下载诊断功能介绍

一.下载并安装最新版本软件 首先下载并安装最新版本的迅雷7,版本不得低于7.1.6.x. 二.登录迅雷 打开迅雷7,单击最上方雷友区的"登录"按钮,在打开窗口中输入会员帐号和密码登录(如图1). 图1 登录雷友 小提示 ★下面两种方法可以帮助大家升级到会员:1.如果已有迅雷帐号:打开浏览器(使用IE或IE内核的浏览器),然后点击这里.之后,输入雷友的帐号和密码,顺着向导升级为会员. 会员开通支付通道很多,而且很安全,多购买会员服务,还可以有更多的优惠;2.如果没有雷友帐号,则可以点击这

保持高速 迅雷7提升邮箱论坛附件下载能力

邮箱和论坛的附件下载一直是个难题,很多时候不仅下载速度慢,而且不稳定.新版本迅雷7已经全面提升了邮箱和论坛附件的下载能力,让我们的附件也能够高速下载. 一.下载并安装最新版本软件 首先从http://dl.xunlei.com/xl7.html下载并安装最新版本的迅雷7,版本不得低于7.1.6.x. 二.登录迅雷 打开迅雷7,单击最上方雷友区的"登录"按钮,在打开窗口中输入会员帐号和密码登录(如图1). 图1 登录雷友 小提示 ★下面两种方法可以帮助大家升级到会员:1.如果已有迅雷帐号

java、javascript实现附件下载示例

 在web开发中,经常需要开发"下载"这一模块,以下给出一个简单的例子. 在服务器端,使用java开发: 01 @RequestMapping(value = "download.html", method = RequestMethod.GET)  02 public void download(String resourceid, HttpServletRequest request, HttpServletResponse response) {  03 re