struts2.0文件下载

struts.xml配置

<action name="downLoad" class="com.hdz.base.action.UploadAction" method="downLoad">
     <result name="success" type="stream">
         <!-- 指定下载文件的内容类型,text/plain是默认类型 -->
         <param name="contentType">text/plain</param >
         <!-- inputName默认值是inputStream,如果action中用于读取下载文件内容的属性名是inputStream,那么可以省略这个参数 -->
         <param name="inputName">inputStream</param>
         <!--动态获取文件名,从Action中的取得filename-->
         <param name="contentDisposition">
             attachment;filename="${downloadFileName}"
         </param>
         <param name="bufferSize">2048</param>
     </result>
 </action>

action配置

public String downLoad(){
  return SUCCESS;
 }
 public InputStream getInputStream() throws Exception {
        String dir = "d:\\upload\\" + filename;
        File file = new File(dir);
        InputStream is = new FileInputStream(file);
        //return ServletActionContext.getServletContext().getResourceAsStream("/upload/31.jpg");//如果是相对路径
        return is;    //如果dir是绝对路径
 }

//处理中文文件名
 public String getDownloadFileName() {
  String downFileName = filename;
  try {
  downFileName = new String(downFileName.getBytes(), "ISO8859-1");
  } catch (UnsupportedEncodingException e) {
  e.printStackTrace();
  }
  return downFileName;
  }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值