博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts1.x下载文件
阅读量:7182 次
发布时间:2019-06-29

本文共 2259 字,大约阅读时间需要 7 分钟。

hot3.png

Action类

package com.cmsz.rist.file;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import java.io.OutputStream;import java.net.URLEncoder;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction;public class DownloadFile extends DispatchAction{    public ActionForward execute(ActionMapping mapping, ActionForm form,            HttpServletRequest request, HttpServletResponse response)  {                String path = request.getSession().getServletContext().getRealPath("/")+"excelTemplate/keywordTemplate.xls";        BufferedInputStream   bis = null;        BufferedOutputStream  bos = null;        InputStream fis = null;        OutputStream fos = null;                try{            File uploadFile = new File(path);                fis = new FileInputStream(uploadFile);            bis = new BufferedInputStream(fis);            fos = response.getOutputStream();            bos = new BufferedOutputStream(fos);                        response.reset();            response.setHeader("Content-disposition", "attachment;filename =" + URLEncoder.encode(path.substring(path.lastIndexOf("/")+1), "utf-8"));            int bytesRead = 0;            byte[] buffer = new byte[4096];            while((bytesRead = bis.read(buffer,0,4096)) != -1){                bos.write(buffer, 0, bytesRead);            }            bos.flush();            fis.close();            bis.close();            fos.close();            bos.close();            //return mapping.findForward("success");                        return null;        }catch(FileNotFoundException e){            e.printStackTrace();                    return mapping.findForward("error");        }catch(Exception e){            e.printStackTrace();            return null;        }            }}
struts1.x配置文件

jsp页面

location.href="downloadFile.do";

参考链接:

转载于:https://my.oschina.net/mcbeathtao/blog/85897

你可能感兴趣的文章
面向对象(理解对象)——JavaScript基础总结(一)
查看>>
写项目代码之前必须要做的事
查看>>
别装啦!一看就知道你要跳槽了.....
查看>>
java B2B2C Springcloud电子商城系统-Spring Cloud常见问题与总结(四)
查看>>
2017双11技术揭秘—阿里巴巴数据库技术架构演进
查看>>
聊聊字典编码
查看>>
独家 | 史上最权威的BI 趋势分析及产品对比
查看>>
观点 | 云原生时代来袭 下一代云数据库技术将走向何方?
查看>>
互联网分布式微服务云平台规划分析--SSO单点登录系统
查看>>
经典以太坊是什么
查看>>
SpringCloud之高可用的分布式配置中心(Spring Cloud Config)(七)
查看>>
h5实现微信扫码
查看>>
curl: (6) Couldn't resolve host 'www.ttlsa.com'
查看>>
JS闭包问题
查看>>
Linux下卸载文件系统
查看>>
我的友情链接
查看>>
文件名过长/文件夹路径过长 无法删除文件夹之解决办法
查看>>
Js获取当前页面URL的一些属性_已迁移
查看>>
test
查看>>
Android消息通知Totast的实现
查看>>