`
zhoujiangzi
  • 浏览: 93354 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

servlet下载中文文件名处理

阅读更多

今天碰到一个关于servlet下载时,如果文件名称为中文,那么下载下来的文件名就会出点问题,今天似乎解决了这个问题,记录下:

 

package com.test;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestServlet extends HttpServlet{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected void service(HttpServletRequest arg0, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentLength(22);
	    response.setContentType("application/x-download");
	    String filename = "测试中文.java";
	    filename = new String(filename.getBytes("GBK"),"ISO8859_1");
	    response.setHeader("Content-disposition", "attachment; filename=\"" + filename + "\"");
	    try{
	    	OutputStream os = response.getOutputStream();
	    	FileInputStream fis = new FileInputStream("D:\\Documents\\App.java");
	    	byte[] b = new byte[1024];
	    	   int i = 0;
	    	   while ((i = fis.read(b)) > 0) {
	    	    os.write(b, 0, i);
	    	   }
	    	   fis.close();
	    	   os.flush();
	    	   os.close();
	    }catch(Exception ex){
	    	ex.printStackTrace();
	    }
	}

	
	
}

 

 

分享到:
评论

相关推荐

    struts2 中文文件名文件下载

    在处理文件上传和下载时,Struts2可能会遇到一个常见的问题,即中文文件名的乱码问题。这是因为不同的系统和软件对字符编码的支持不同,尤其是涉及到网络传输时,编码的兼容性尤为重要。 在“struts2 中文文件名...

    java下载时文件名乱码

    在Java编程中,遇到“java下载时文件名乱码”的问题通常是由于编码不一致或处理不当造成的。在处理文件下载时,尤其是从Web服务器下载带有非ASCII字符的文件名时,这种问题尤为常见。让我们深入探讨这个问题,并提供...

    文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf

    例如,早期的IE浏览器版本对中文文件名处理存在问题,可能需要额外的编码转换。在使用上述方法解决中文文件名乱码问题时,还需要考虑浏览器兼容性,确保在不同的浏览器上都能正确显示文件名。 总结来说,通过设置...

    SERVLET实现下载

    这里,`downloadServlet`是处理下载请求的Servlet,`filename`参数传递要下载的文件名。 5. **统计下载** 如果需要统计下载次数,可以在Servlet中添加一个全局变量或使用数据库记录下载信息。每次处理完下载请求...

    struts2上传下载 解决中文文件名乱码

    以上步骤完成后,Struts2应该能正确处理包含中文文件名的上传和下载操作,避免乱码问题。不过,需要注意的是,不同的服务器环境、浏览器版本或客户端设置可能会影响到文件名编码的处理,因此在实际应用中可能还需要...

    基于servlet的文件下载代码

    - 对`filename`进行了编码转换,这是因为浏览器传递过来的文件名可能包含中文或其他非英文字符,需要正确地解码和编码以避免乱码问题。 5. **文件下载逻辑**: ```java @SuppressWarnings("deprecation") ...

    servlet中使用smart实现上传和下载实例(解决中文名问题)

    在这个特定的实例中,我们利用Smart框架来实现文件的上传和下载功能,同时解决了中文文件名的问题。Smart是一个轻量级的Java Web框架,它简化了处理HTTP请求和响应的过程,特别适合于文件操作。 首先,我们需要理解...

    servlet上传 struts下载例子

    5. **Struts配置**:在Struts 1.2中,你需要在struts-config.xml文件中定义Action,配置Action的forward,指向处理下载的Servlet或JSP。同时,可能还需要配置拦截器(interceptors)来处理表单验证和其他业务逻辑。 ...

    文件下载,文件名有中文及空格无法显示问题 - CSDN博客1

    这段代码展示了如何在Java Spring MVC框架下处理文件下载时中文文件名和空格的问题。通过适当地编码和设置`Content-Disposition`头,可以确保文件名在各种浏览器上都能正常显示和保存。同时,要注意,实际应用中还...

    [jspSmartUpload]------------>jspSmartUpload上传中文文件名 乱码问题

    标题中的“jspSmartUpload上传中文文件名乱码问题”是一个常见的技术挑战,特别是在处理Web应用程序时,特别是那些涉及用户上传文件的场景。JSP Smart Upload是早期流行的一个用于Java Web应用的文件上传组件,它...

    jsp页面 链接中文文件名 找不到页面

    在开发Java Web应用程序时,尤其是使用JSP技术时,可能会遇到一些与字符编码相关的难题,尤其是在处理包含中文的文件名时。这个问题的核心在于URL编码和服务器的配置。当我们在JSP页面中创建一个链接指向一个包含...

    Servlet3.1规范(最终版).中文

    在Servlet3.1中,文件上传变得更加简单,`Part`接口用于处理单个文件或文件字段,支持文件名、大小和内容类型等属性的获取,以及方便的删除和流化操作。 8. **MIME类型映射**: 通过`@MultipartConfig`注解,...

    servlet url传递中文参数

    本篇将详细介绍如何在Servlet中处理URL传递中文参数的情况。 首先,了解URL编码的基本原理。URL编码是将非ASCII字符转换为%xx形式的ASCII序列,其中xx是该字符在UTF-8编码中的前两个十六进制数字。在Java中,可以...

    java+jsp+servlet 文件下载

    上述代码中,`fileURL`应当是通过其他方式获取的实际文件路径或名称,然后通过`href`属性设置为包含文件名的请求路径,从而触发服务器端的文件下载处理。 #### 后台处理逻辑 服务器端采用Servlet技术进行文件下载...

    Ajax+Servlet 实例

    在处理跨域请求时,特别是涉及中文字符时,可能出现乱码问题。为了解决这个问题,我们需要确保在Servlet中正确设置字符编码。 在Servlet中,可以覆盖`doPost`或`doGet`方法,并设置请求和响应的编码: ```java ...

    支持中文下载的JSPSMARTUPLOAD

    **JSPSMARTUPLOAD** 是一个专门针对中文文件名下载问题设计的Java库,它解决了在JSP(Java Server Pages)环境中处理中文文件名时可能出现的乱码或无法识别的问题。这个库的核心在于能够正确地编码和解码中文字符,...

    超强过滤器彻底解决JSP-SERVLET中文参数GET-POST传递的问题(转)

    总结,"超强过滤器"是解决JSP-Servlet之间中文参数GET-POST传递问题的有效手段,通过统一设定请求的字符编码,确保在整个Web应用中中文数据能够正确无误地传输和处理。对于大型项目,这样的全局解决方案可以大大提升...

    jQuery_file_upload-Servlet上传版本

    《jQuery_file_upload-Servlet上传版本》是一个基于jQuery的文件上传解决方案,特别针对Servlet环境进行了优化,解决了在Java平台上常见的文件上传问题,如进度条显示和中文文件名编码问题。这个解决方案使得开发者...

    jsp与servlet 上传文件 javaBean上传文件

    本篇文章将深入探讨如何使用JSP与Servlet进行文件上传,并特别关注如何解决中文文件名乱码的问题。 首先,我们需要理解文件上传的基本流程。当用户在JSP页面上选择文件并提交表单时,JSP会将文件数据封装到HTTP请求...

Global site tag (gtag.js) - Google Analytics