`

Servlet中下载已上传的文件(已测试)

    博客分类:
  • Java
阅读更多

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浏览器下载文件时标题为乱码!

 

 



不设置编码时,下载的文件标题中的中文消失!

 

 

  • 大小: 4.3 KB
  • 大小: 32.4 KB
  • 大小: 8.2 KB
  • 大小: 19.8 KB
分享到:
评论

相关推荐

    Servlet文件上传、下载及缩略图的生成

    一个完整的Servlet文件上传、下载及缩略图的生成的代码,可以直接在eclipse中运行,本程序适合多包上传和下载,对于图片类文件可以生成缩略图,供大家参考,改程序已经过测试。

    servlet实现文件上传

    无组件用servlet实现文件上传,可以定义文件类型和大小,可以实现多文件上传。 包含全部源码,在tomcat下测试通过。 欢迎下载使用,可以随意修改和发布。 说明:源文件放在uptest\WEB-INF\classes下。

    jquery+swfupload+servlet_多文件上传

    在网上一个地方下的,地址忘记了。js+servlet 动态上传, 自己测试过在html页面上,可以的。谢谢那个自己做的高手!!

    java文件上传下载

    这是一个用java写的简单地文件上传(逻辑有点儿乱、需完善)、文件下载的demo,在文件下载中解决了下载文件标题乱码的问题,文件下载的乱码在ie,firefox, google chrome中已经测试过

    servlet+jquery实现文件上传进度条示例代码

    现在文件的上传,特别是大文件上传,都需要进度条,让客户知道上传进度。 本文简单记录下如何弄进度条,以及一些上传信息,比如文件的大小,上传速度,预计剩余时间等一些相关...接收文件上传的servlet UploadFile

    XUtils上传文件.zip

    一个简单的Xutils上传文件的小demo,安卓端的小程序。这个demo简单说明了上传文件时需要怎样添加参数。如果要测试的话,需自己写一个servlet 服务端。

    jsp 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 ...

    java 编写文件上传类简单易用

    如果表单中有 file 控件,并且用户选择了上载文件,则需要分析出字段的名称、文件在浏览器端的名字、文件的 Content-Type 和文件的内容。 字节数组的内容可以分解如下: 具体解码过程也可以分为两个步骤: 将...

    okhttp上传文件包含服务端(java)

    okhttp上传文件,包含Android客户端代码和Java Servlet服务端代码,本地测试通过。

    北大青鸟6.0课件S2使用JSP/Servlet/Ajax技术开发新闻发布系统2

    北大青鸟6.0课件S2使用JSP/Servlet/Ajax技术开发新闻发布系统2,,我只能上传小于50M的文件,所以分了2次上传,下载使用JSP/Servlet/Ajax技术开发新闻发布系统1后就是全部的了。如有问题加Q:329139513.注明来意

    Servlet与JSP核心编程第2版

    JSP初学者用书 很不错的一本书 第1章 servlet和jsp技术概述 ...19.7 文件上载控件 19.8 服务器端图像映射 19.9 隐藏域 19.10 控件组 19.11 制表次序 19.12 用于调试的web服务器 附录 服务器的组织与结构

    基于AES和RSA加密的文件上传系统,服务端Servlet+Jetty,客户端SpringBoot.zip

    1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...

    超大文件上传DEMO

    带进度条的超大文件上传用的是HTML5 + Servlet 真实进度条 可嵌入系统,无断点续传 目前测试4G大小文件没有问题! 请用 eclipse 导入

    ckeditor在线编辑器,实现在线上传图片和falsh文件

    ckeditor在线编辑器,实现在线上传图片和falsh文件 后台用servlet实现文件上传,采用apache上传主键上传,在jdk1.6下测试成功!需要的朋友下参考下

    ole-batch-process-profile-import-export:用于导出和导入 OLE 批处理配置文件的 Servlet

    该脚本已在以下环境中测试: OLE v1.5.6.1 MySQL v5.6.21关于导入配置文件的重要说明这些导出/导入 servlet 可用于通过导出现有配置文件并以新名称导入来复制配置文件。 导入批处理配置文件可能不安全,并可能导致...

    高校信息管理系统——jsp,servlet,sql server2005

    包含学生信息管理,教师信息管理,课程管理,成绩管理,院、系、专业、班级信息管理,报名系统,文件上传等功能,经多次测试,系统运行稳定,界面美观友好,代码量逾万行,是jsp,servlet开发者的好实例!绝对物有所...

    断点上传示例源码2012825

    本 Demo 的客户端中,一共提供了2个按钮, “上传100字节”按钮,仅仅只是用于模拟测试断点续传,只传输了前 100 个字节便结束。 “上传”按钮是真正的代码,可以实现续传或者全部传输(取决与上一次有没有传输过...

    jsp+servlet+javabean新闻发布系统计算机毕业设计源码

    统名称:jsp+servlet+javabean新闻发布系统 大家好,这是我搜集整理好并且测试通过的的一个新闻发布系统,有程序,设计详细文档和ppt演示,我现在把程序共享给大家,有需要完整文档的朋友请再联系我!! 系统角色:...

    upload:一个单独的上传文件服务

    一个单独的上传文件服务(one upload file servlet) 目的 上传文件的方式越来越多样,根据开发和运行环境的不同,把它独立出来也越来越必要. 如果仅仅需要一个上传文件的功能,以前必定是要依赖jar;但在servlet 3.1...

    《基于JSP+servlet实现鲜花销售商城管理系统 》+源代码+文档说明

    该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目...

Global site tag (gtag.js) - Google Analytics