struts2 实现文件下载

 页面采用ajax方式判断文件是否存在并下载:

     $.ajax({
    url:'${pageContext.request.contextPath}'+downloadWPath,    //此处给出文件地址,如果找不到,会走下面的error处理!
    success:function(){
        location.href='downloadKeyWord?keywordpath='+encodeURIComponent(downloadWPath);
    },
    error:function(){
    $.messager.show({
                    title: '提示',
                    msg: "该关键字文件已不存在!",
                    showtype:'fade',
                    timeout:3000,
                    style:{
                    right:'',
                    bottom:''
                    }
                }); 
    }
    });  


strrut.xml 配置中,把下载操作放在ajax的处理包中,

  <package name="ajax" extends="json-default">

<action name="downloadKeyWord" class="com.geo.dsp.ioperator.action.ManageExecuteAction" method="downloadKeyWord">
<result name="success" type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="inputName">keyWordStream</param>
<param name="contentDisposition">filename=${downloadFileName}</param>
<param name="bufferSize">1024</param>
</result>
</action>

<package>

java方法:

    public String downloadKeyWord() {
        String keyWordpath = request.getParameter("keywordpath");
        keyWordStream = ServletActionContext.getServletContext().getResourceAsStream(keyWordpath);
        downloadFileName = keyWordpath.split("/")[keyWordpath.split("/").length - 1].split("_")[0] + ".txt";    //下载时显示文件的名字
        return "success";
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值