文件下载之文件名乱码问题的工具类

package cn.itcast.down.utils;

import java.io.IOException;
import java.net.URLEncoder;

import javax.servlet.http.HttpServletRequest;

import sun.misc.BASE64Encoder;
/*
* 下载文件的工具类
*/
public class DownUtils {

public static String filenameEncoding(String filename,
HttpServletRequest request) throws IOException{
String agent=request.getHeader("User-Agent");//获取浏览器
if(agent.contains("Firefox")){
BASE64Encoder base64Encoder=new BASE64Encoder();
filename="=?utf-8?B?"+base64Encoder.encode(filename.getBytes("utf-8"))
+"?=";

}else if(agent.contains("MSIE")){
filename=URLEncoder.encode(filename,"utf-8");
}else{
filename=URLEncoder.encode(filename, "utf-8");
}
return filename;
}
}

原文地址:https://www.cnblogs.com/xiqoqu/p/9194683.html

时间: 2024-08-24 13:04:49

文件下载之文件名乱码问题的工具类的相关文章

asp.net 文件下载 解决文件名乱码

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO; using ElementLibrary.BLL; using ElementLibrary.MODEL; using System.Text; /* * LiuH * Descr:下载处理DownLoadFile.ashx * Addtime:2014/8/26 * LastModifyTim

java文件下载的文件名乱码

// //下载文件,并处理文件名乱码 public void downloadFile(HttpServletRequest request,HttpServletResponse response){    String path = request.getSession().getServletContext().getRealPath("/upload/文档1.doc");     // path是根据日志路径和文件名拼接出来的      File file = new File

文件下载中文文件名乱码

B/S应用中,下载一个附件保存时,中文文件名会乱码,在实际开发中经常遇到,现贴出C#和JAVA的解决方法: C#: Response.AppendHeader("Content-Disposition", "attachment;filename=" + Tools.toUtf8String(result)); 其中用到的转换方法: public static string ToUtf8String(String s) { StringBuilder sb = ne

Java文件下载文件名乱码

文件下载文件名乱码主要是没有对文件名进行编码,这里适用的浏览器主要包括(IE,火狐,谷歌,360) 代码如下 //火狐浏览器 if(ServletActionContext.getRequest().getHeader("USER-AGENT").toLowerCase().indexOf("firefox") >0){ return new String(文件名.getBytes(), Const.CHARSET_ISO8859_1); } //其他浏览器

文件下载文件名乱码解决

if(request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0){ response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(product.getRealName1(), "UTF-8")); }else{ res

关于java文件下载文件名乱码问题解决方案

关于java文件下载文件名乱码问题解决方案 做为一名程序员,大家应该都遇到过乱码的问题吧!这篇文章是自己解决关于关于java文件下载文件名乱码问题的处理: String fileName = "下载的文件名"; String userAgent = request.getHeader("User-Agent"); //针对IE或者以IE为内核的浏览器: if (userAgent.contains("MSIE")||userAgent.conta

java读写文件(可当工具类保存。解决乱码)

//读文件 public static String ReadFile(String path) { File file = new File(path); BufferedReader reader = null; String laststr = ""; try { reader = new BufferedReader(new FileReader(file)); String tempString = null; while ((tempString = reader.read

Struts2 .apk 文件下载及解决中文文件名乱码问题(转)

1.Tomcat服务器不能下载 .apk类型文件 Android的APK安装包不能下载或下载文件是以 .zip为后缀名而不是 .apk为文件后缀名时,需在 Tomcat 的 web.xml 配置文件中加入以下 MIME 类型: 1 <mime-mapping> 2 <extension>apk</extension> 3 <mime-type>application/vnd.android.package-archive</mime-type>

Java读取properties文件工具类并解决控制台中文乱码

1.建立properts文件(error.message.properties) HTTP201= 请求成功并且服务器创建了新的资源 2.在spring-mvc.xml文件(applicationContext-mvc.xml)中配置properties工具类路径及读取properties文件的路径 <bean id="propertyConfigurer" class="com.yjlc.platform.utils.PropertyConfigurer"