Servlet中下载已上传的文件(已测试)
注:该方法下载文件,若文件不存在,但是数据库中存在文件名,则会自动创建一个空白文件给客户。
注:这里只是流的传输,不在页面显示——即不获取文件中的内容!!!
(如需获取文件内容,请查看:http://zyjustin9.iteye.com/admin/blogs/2134415)
1.代码:
//1.通过id在数据库中获取已存的文件的名称 PolicyDao pdao =new PolicyDao(); String sID=request.getParameter("id"); long id = Long.parseLong(sID); String fileName = pdao.getPolicyDoc(id);//如:文件1.doc String uploaPath = Configuration.getConfig().getString("policyFilesPath");//如:D:\logs\ try { File file = new File(uploaPath + fileName);//D:\logs\文件1.doc response.setContentType("text/plain"); //response.setHeader("Location",fileName);//此句不要没影响 response.setHeader("Content-Disposition", "attachment;filename=" + new String(file.getName().getBytes("GBK"), "iso-8859-1"));//修改文件标题的编码 //response.setHeader("Content-Disposition", "attachment;filename=" + new String(file.getName().getBytes("UTF-8"), "iso-8859-1")); /**注意:系统是UTF-8的,但是设置为UTF-8编码时,IE下载时文件标题为乱码!其他浏览器不会!设置为GBK时都正常!*/ OutputStream out = response.getOutputStream(); InputStream inputStream = new FileInputStream(file); byte[] buffer = new byte[1024]; int i = -1; while ((i = inputStream.read(buffer)) != -1) { out.write(buffer, 0, i); } out.flush(); out.close(); } catch (FileNotFoundException e) { logger.error(e.toString()); System.out.println("文件未找到"); } return;
2.错误设置:
utf-8编码会导致IE浏览器下载文件时标题为乱码!
不设置编码时,下载的文件标题中的中文消失!
相关推荐
一个完整的Servlet文件上传、下载及缩略图的生成的代码,可以直接在eclipse中运行,本程序适合多包上传和下载,对于图片类文件可以生成缩略图,供大家参考,改程序已经过测试。
无组件用servlet实现文件上传,可以定义文件类型和大小,可以实现多文件上传。 包含全部源码,在tomcat下测试通过。 欢迎下载使用,可以随意修改和发布。 说明:源文件放在uptest\WEB-INF\classes下。
在网上一个地方下的,地址忘记了。js+servlet 动态上传, 自己测试过在html页面上,可以的。谢谢那个自己做的高手!!
这是一个用java写的简单地文件上传(逻辑有点儿乱、需完善)、文件下载的demo,在文件下载中解决了下载文件标题乱码的问题,文件下载的乱码在ie,firefox, google chrome中已经测试过
现在文件的上传,特别是大文件上传,都需要进度条,让客户知道上传进度。 本文简单记录下如何弄进度条,以及一些上传信息,比如文件的大小,上传速度,预计剩余时间等一些相关...接收文件上传的servlet UploadFile
一个简单的Xutils上传文件的小demo,安卓端的小程序。这个demo简单说明了上传文件时需要怎样添加参数。如果要测试的话,需自己写一个servlet 服务端。
9.4.2 直接在JSP文件中定位tld文件 9.5 扩展标签实例 9.5.1 得到父标签的数据 9.5.2 TestTag类 9.5.3 Title类 9.5.4 Data类 9.5.5 TLD文件 9.5.6 在JSP中使用扩展标签 第10章 Enterprise JavaBeans 10.1 ...
如果表单中有 file 控件,并且用户选择了上载文件,则需要分析出字段的名称、文件在浏览器端的名字、文件的 Content-Type 和文件的内容。 字节数组的内容可以分解如下: 具体解码过程也可以分为两个步骤: 将...
okhttp上传文件,包含Android客户端代码和Java Servlet服务端代码,本地测试通过。
北大青鸟6.0课件S2使用JSP/Servlet/Ajax技术开发新闻发布系统2,,我只能上传小于50M的文件,所以分了2次上传,下载使用JSP/Servlet/Ajax技术开发新闻发布系统1后就是全部的了。如有问题加Q:329139513.注明来意
JSP初学者用书 很不错的一本书 第1章 servlet和jsp技术概述 ...19.7 文件上载控件 19.8 服务器端图像映射 19.9 隐藏域 19.10 控件组 19.11 制表次序 19.12 用于调试的web服务器 附录 服务器的组织与结构
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...
带进度条的超大文件上传用的是HTML5 + Servlet 真实进度条 可嵌入系统,无断点续传 目前测试4G大小文件没有问题! 请用 eclipse 导入
ckeditor在线编辑器,实现在线上传图片和falsh文件 后台用servlet实现文件上传,采用apache上传主键上传,在jdk1.6下测试成功!需要的朋友下参考下
该脚本已在以下环境中测试: OLE v1.5.6.1 MySQL v5.6.21关于导入配置文件的重要说明这些导出/导入 servlet 可用于通过导出现有配置文件并以新名称导入来复制配置文件。 导入批处理配置文件可能不安全,并可能导致...
包含学生信息管理,教师信息管理,课程管理,成绩管理,院、系、专业、班级信息管理,报名系统,文件上传等功能,经多次测试,系统运行稳定,界面美观友好,代码量逾万行,是jsp,servlet开发者的好实例!绝对物有所...
本 Demo 的客户端中,一共提供了2个按钮, “上传100字节”按钮,仅仅只是用于模拟测试断点续传,只传输了前 100 个字节便结束。 “上传”按钮是真正的代码,可以实现续传或者全部传输(取决与上一次有没有传输过...
统名称:jsp+servlet+javabean新闻发布系统 大家好,这是我搜集整理好并且测试通过的的一个新闻发布系统,有程序,设计详细文档和ppt演示,我现在把程序共享给大家,有需要完整文档的朋友请再联系我!! 系统角色:...
一个单独的上传文件服务(one upload file servlet) 目的 上传文件的方式越来越多样,根据开发和运行环境的不同,把它独立出来也越来越必要. 如果仅仅需要一个上传文件的功能,以前必定是要依赖jar;但在servlet 3.1...
该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目...