struts2 文件下载
如题:我在action中得到了 文件的绝对路径 和 文件名称 以及 inputstream,请问在页面 和 action的配置文件中要怎么去处理? 页面的我是用的一下超链接,不知道怎么的不会弹出 保存文件的对话框。以下是我的相应代码:
action中(注此处我的fileName是有办法得到的):
public InputStream download(){
........
return ServletActionContext.getServletContext().getResourceAsStream(fileName);
}
配置文件:
<action ......>
<result type="stream">
<param name="contentType">application/zip</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<param name="bufferSize">4096</param>
</result>
</action>
页面
<a href="downloadAttach.action?id=${此处能取到id}">下载</a>
------解决方案--------------------struts2文件上传下载 http://wenku.baidu.com/view/d1385ec30c22590102029d3c.html
Struts2文件下载功能开发
http://www.javaeye.com/wiki/Struts2_leader_guide/1987-struts_guide_11
http://shirlly.javaeye.com/blog/219073
希望对你有帮助
------解决方案--------------------不是这丫的 action返回string, action中包括file,contenttype,size的信息,struts自动帮你搞,具体去看人家的博客
http://blog.csdn.net/voyage_mh1987/archive/2010/09/15/5884966.aspx
------解决方案--------------------要修改Action代码如下
public String download(){
return SUCCESS;
}
public InputStream getInputStream(){
return ServletActionContext.getServletContext().getResourceAsStream(fileName);
}
------解决方案--------------------
Action方法不应该返回InputStream。
4楼我的代码就是为了解决这个问题的。
------解决方案--------------------Struts2文件下载:
Struts2文件下载对应将一个InputStream返回
如Action中下载的方法:
/**
* 文件下载的Action
*
* @author 张明学
*
*/
public class DownloadAction extends ActionSupport {
public InputStream getDownloadFile() {
return ServletActionContext.getServletContext().getResourceAsStream(
"/upload/200906231.doc");
}
@Override
public String execute() throws Exception {
return SUCCESS;