struts2:下载文件

文件下载

 

页面:

<a href="${pageContext.request.contextPath }/file/downLoadAction.action?relativePath=${relativePath }">${fileFileName}</a>

 

struts.xml

         这里主要注意的是,使用的result的类型是stream

<action name="downLoadAction" class="hwt.action.DownLoadAction">
    <!- - 设置result的类型为stream- - >
            <result name="downLoad"type="stream">
                <param name="contentType">text/plain</param>
                <param name="inputName">fileStream</param>
                <param
name="contentDisposition">filename="${fileName}"</param>
                <param name="bufferSize">1024</param>
            </result>
        </action>


 

Action中        

         继承actionsupport

public class DownLoadAction extends ActionSupport{
    private String fileName;
    private String relativePath ;
   
    /*
     * getFileStream()这个方法的名字和struts.xml的配置文件中的
     * <paramname="inputName">fileStream</param>
     */
    public InputStream getFileStream(){
        relativePath = relativePath.replace("\\","/");
        return ServletActionContext.getServletContext().getResourceAsStream("/"+FileUploadUtils.baseName+"/"+relativePath);
    }
   
    public String execute(){
        return "downLoad";
    }
 
    public String getFileName() {
        fileName = relativePath.substring(relativePath.lastIndexOf("/")+1);
        return fileName;
    }
 
    public void setFileName(String fileName) {
        this.fileName = fileName;
    }
 
    public String getRelativePath() {
        return relativePath;
    }
 
    public void setRelativePath(String relativePath) {
        this.relativePath = relativePath;
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值