struts2  result="stream''文件下载

action:
 public String downloadHelp() {
   try {
    URL  url = new URL(picUrl);  //图片路径
    BufferedImage image;
    image = ImageIO.read(url);
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    ImageIO.write(image, "jpg", os);
    fileName=new String("排期图片下载.jpg".getBytes(), "ISO8859-1"); //中文编码防止乱码
    imageStream = new ByteArrayInputStream(os.toByteArray());//转换为图片流
   } catch (Exception e) {
  
   }
  return SUCCESS;
 }

xml文件:
<action name="downloadHelp" class="QRCodeAction" method="downloadHelp">
  <result name="success" type="stream"><!--type 为 stream 应用 StreamResult 处理 -->
   <param name="contentType">jpg</param><!--默认为 text/plain -->
   <param name="inputName">imageStream</param>

   <!-- 默认为 inline(在线打开),设置为 attachment 将会告诉浏览器下载该文件,filename 指定下载文 件保有存时的文件名,若未指定将会是以浏览的页面名作为文件名,如以
    download.action 作为文件名, 这里使用的是动态文件名,${fileName}, 它将通过 Action 的 getFileName()
    获得文件名 -->
   <param name="contentDisposition">attachment;filename="${fileName}"</param>
   <param name="bufferSize">2048</param><!-- 输出时缓冲区的大小 -->
  </result>
 </action>


jsp:
调用:
ajax也可以.

 window.location.href="downloadHelp?picUrl="+imgData;    也可以
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值