利用a标签下载文件(文件地址不限)
来源:互联网 发布:网络维护怎么做 编辑:程序博客网 时间:2024/06/13 21:45
利用a标签下载文件,向后台传入服务器端的文件地址,后台根据地址获取输入流后,在向前台输出文件流供下载
前台jsp:<a target="blank" href="../bizProblem/downFile.action?path=d:\\wendang.docx&fileid=f3js3sm3j4j3w4skj3k29">测试文档</a>
<span style="white-space:pre"></span>/** * 根据文件路径下载 * @return */public String downFile(){try {String fileName = bizProblemService.selectByFileid(fileid);//根据文件id获取原文件名HttpServletResponse response = ServletActionContext.getResponse();//获取response//清空一下response对象,否则出现缓存什么的response.reset();//指明这是一个下载的respondresponse.setContentType("application/x-download");response.setCharacterEncoding("UTF-8");response.setHeader("Content-type", "text/html;charset=UTF-8");//<span style="font-family: Arial, Helvetica, sans-serif;">原文件名若为中文,需要转码</span>response.setHeader("Content-Disposition","attachment;filename="+java.net.URLEncoder.encode(fileName, "UTF-8"));ServletOutputStream sos = response.getOutputStream(); BufferedInputStream fin = new BufferedInputStream(new FileInputStream(path)); byte[] content = new byte[1024]; int length; while ((length = fin.read(content, 0, content.length)) != -1) { sos.write(content, 0, length); } fin.close(); sos.flush(); sos.close(); } catch (IOException e) { e.printStackTrace(); }return null;//<span style="font-size:12px;">注意:此处不能返回SUCCESS,<span style="color: rgb(46, 46, 46); font-family: 'microsoft yahei', arial, simsun; line-height: 24px;">每个方法都返回的是一个ActionForward对象,而response是ActionForward对象参数,所以就会使response冲突! 所以处理上传的action返回null就可以了,才不会报错:<span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);">getOutputStream() has already been called for this response</span></span></span>}
关于a标签的说明:若a标签的href挂接的是可直接打开的链接,例如:“../image/test.png"或者“http://192.168.10.10:8080/image/test.png",并且文件为png、jpg等图片格式或者txt文档,则可直接在网页中打开浏览,若文件为docx、xls等文档,则会提供下载操作,不同浏览器对a标签的下载操作有不同的解析,所以下载操作可能不一致
0 0
- 利用a标签下载文件(文件地址不限)
- 用<a>标签下载文件
- a标签实现文件文件下载(ie8可用)
- <a>标签点击实现下载文件功能
- 应用HTML5 <a>标签下载文件
- <A>标签下载文件 IE浏览器
- jsp + servlet 通过a 标签下载文件
- 如何使用a标签下载文件
- a标签无法下载中文文件
- Framework7中利用download和external实现a标签下载文件和图片
- Framework7中利用download和external实现a标签下载文件和图片
- 文件下载地址
- URL文件地址下载
- a 标签下载文件并解决中文乱码问题
- 怎么用<a>标签实现点击链接直接下载文件
- angular中使用a标签在PC端下载文件
- a标签下载txt文件,不是直接打开的方式
- a标签ajax直接调用后台方法下载文件:
- Jenkins Job Backup
- Java实现网络爬虫
- iOS 本地化(多语言支持)
- hive改表结构的两个坑
- .net utf-8编码向gb2312网站提交数据
- 利用a标签下载文件(文件地址不限)
- 二叉树-四种遍历及其他应用
- 检测手机当前是否有网络
- UITextField使用方法
- !聊聊WEB APP、HYBRID APP与NATIVE APP的设计差异
- linux用dd工具制作img镜像文件
- Navicat Report Viewer 报表处理方法有哪些
- 手机浏览不自动调转到手机版页面什么办
- oracle官方提到被频繁询问的问题1(rac中私网的条件需求)