`

Java Web文件下载

阅读更多

        工作中,一同事做下载功能时,在Chrome浏览器下不能正常,最后发现是需要对下载文件名做处理,特记录,源代码如下:

response.reset();
response.setContentType("application/octet-stream");
String filename = "";
if(httpRequest.getHeader("User-Agent").toUpperCase().indexOf("MEIE") > 0){
	filename = URLEncoder.encode(file_name, "UTF-8");
}else{
	filename = new String(file_name.getBytes("UTF-8"),"ISO8859-1");
}
//1:下载;2:预览
if("2".equals(file_type)) {
	response.setHeader("Content-Disposition", "inline;filename=" + filename);
}else {
	response.setHeader("Content-Disposition", "attachment;filename=" + filename);
}

        其中,request.getHeader("User-Agent")用来判断浏览器类型。

 

附:在获取前台传送过来的中文时,往往会出现乱乱码,针对不同的浏览器,需做特殊处理

String fileName = request.getParameter("fileName");
// 解决中文文件名乱码问题
if (request.getHeader("User-Agent").toLowerCase()
		.indexOf("firefox") > 0) {
		fname = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器
} else if (request.getHeader("User-Agent").toUpperCase()
		.indexOf("MSIE") > 0) {
	fname = URLEncoder.encode(fileName, "UTF-8");// IE浏览器
}else if (request.getHeader("User-Agent").toUpperCase()
		.indexOf("CHROME") > 0) {
	fname = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌
}

 

 

 

分享到:
评论

相关推荐

    java web文件上传-下载-查看操作.docx

    Java Web 文件上传、下载、查看操作 Java Web 文件操作是日常开发解决的问题,主要是针对解决文件的上传下载、查看操作。下面是相关的知识点: 一、Java Web 文件上传操作 * 文件上传是指通过 HTTP 请求将文件从...

    Java Web文件下载,解决了使用IE11下载文件时所出现的乱码问题

    在Java Web开发中,文件下载是一项常见的功能,尤其在企业级应用中不可或缺。当用户需要获取服务器上的资源,如文档、图片或者视频等,通常会通过点击下载链接触发服务器进行文件传输。本项目针对的一个重要问题就是...

    java web开发帮助文档

    这个“java web开发帮助文档”压缩包显然为开发者提供了丰富的资源,旨在协助他们提升开发效率和理解相关技术。 1. **Java API**: Java API是Java平台的核心库,它包含了各种类和接口,供开发者在编写Java程序时...

    java 文件web下载类

    java 文件web下载类适合所有浏览器

    ajax实现java文件下载

    2. **Java文件下载**:在Java Web开发中,服务器端通常使用Servlet或Controller来处理文件下载请求。这些组件会根据客户端请求,读取文件内容,设置合适的HTTP响应头(如Content-Type,Content-Disposition等),并...

    FileUtils java web 文件上传下载工具

    在Java Web开发中,文件上传和下载是常见的功能需求,特别是在构建用户交互性强的Web应用时。`FileUtils`是一个方便的工具类,用于简化这些操作。本篇将详细讲解如何利用`FileUtils`实现文件的上传和下载,并介绍...

    Java Web开发技术文档

    Java Web开发技术文档是针对那些想要深入理解和掌握Java在Web应用程序开发中的应用的学习资源。这份文档详尽地涵盖了从基础到高级的各种主题,旨在帮助不同水平的开发者,无论是初学者还是有经验的程序员,都能从中...

    java web 开发技术大全光盘文件(part03)

    由于上传权限只有20M所以打成了5个rar包(java web 开发技术大全光盘文件(...下载后的文件名为Java Web (G).part1.rar、Java Web (G).part2.rar、Java Web (G).part3.rar、Java Web (G).part4.rar、Java Web (G).part5....

    java web的api

    Java Web API是Java平台用于构建Web应用程序的一组接口和类,涵盖了从服务器端处理到客户端交互的各种技术。在这个描述中,我们关注的关键技术包括Hibernate、Java EE、JDK、jQuery、Spring以及W3C School的API。让...

    java web文件上传-下载-查看操作

    在Java Web开发中,文件上传、下载和查看是常见的功能需求,尤其在构建交互性强的Web应用程序时。这里我们将深入探讨这些操作的核心概念和技术。 **文件上传** 文件上传主要是指用户通过Web表单将本地文件传输到...

    java web API文档

    Java Web API文档是开发Java Web应用的重要参考资料,涵盖了多种框架和技术。以下是对这些技术的详细说明: 1. **Servlet**: Servlet是Java EE的一部分,它提供了对HTTP协议的支持,使得开发者可以创建动态Web...

    java web 开发技术大全光盘文件(part02)

    由于上传权限只有20M所以打成了5个rar包(java web 开发技术大全光盘文件(...下载后的文件名为Java Web (G).part1.rar、Java Web (G).part2.rar、Java Web (G).part3.rar、Java Web (G).part4.rar、Java Web (G).part5....

    java web 开发技术大全光盘文件(part04)

    由于上传权限只有20M所以打成了5个rar包(java web 开发技术大全光盘文件(...下载后的文件名为Java Web (G).part1.rar、Java Web (G).part2.rar、Java Web (G).part3.rar、Java Web (G).part4.rar、Java Web (G).part5....

    Java Web从入门到精通光盘源码1-15

    然后,根据每个项目的README或指示,配置所需的jar文件,构建并运行源码,逐步深入学习和理解Java Web的各个方面。同时,结合理论学习,如阅读相关书籍、观看教学视频,将有助于你更全面地掌握Java Web开发。

    java web接口开发demo

    最后,为了便于部署和管理,Java Web应用通常被打包成WAR文件,然后部署到像Tomcat、Jetty这样的应用服务器上。`mServer`可能就是这样一个可部署的WAR包,或者包含构建WAR包所需的全部资源。 总的来说,"java web...

    java web教程和资料电子书

    Java Web教程和资料电子书是一份宝贵的资源,它旨在引导初学者和有一定基础的开发者深入理解和掌握Java Web开发技术。这份教程涵盖了Java面向对象编程在Web环境中的应用,是提升编程技能的重要参考资料。 首先,...

    java web项目 web.xml配置文件下载

    全新的java web项目的配置文件,新建的纯净的web.xml文件,没做任何改动,下载就可以使用了。

    java web开发技术大全1 pdf

    JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring(Ioc容器、装配Java Bean...

    深入分析java web

    书中可能深入讲解了Java的I/O流体系,包括字符流和字节流,以及如何在Web环境中实现高效的文件读写和网络通信。 3. **javac编译原理**:javac是Java的官方编译器,理解其工作原理有助于开发者优化代码和解决编译...

    基于Java与Web技术的KettleWeb数据集成平台源码

    项目概述:KettleWeb数据集成平台是一款基于Java与Web技术的开源数据集成工具。此平台源码基于Kettle原生版本6.1.0.1开发,扩展了Web端操作功能,便于用户进行数据集成工作。 技术栈:项目主要采用Java语言进行开发...

Global site tag (gtag.js) - Google Analytics