解决用ASP.NET下载文件时,文件名为乱码的问题
关键就一句: string strTemp = System.Web.HttpUtility.UrlEncode(strName, System.Text.Encoding.UTF8);//解决文件名乱码
protected string strConn = Common.Config.GetAppSettingsKeyValue("DBConnectString");
protected System.Data.OleDb.OleDbConnection conn;
protected System.Data.OleDb.OleDbCommand cmd;
protected System.Data.OleDb.OleDbDataReader dr;
private void Download(string field, string id)
{
try
{
string strCmd = "select * from doc_body where id = " + id;
conn = new OleDbConnection(strConn);
cmd = new OleDbCommand(strCmd,conn);
conn.Open();
dr = cmd.ExecuteReader();
dr.Read();
int nSize = (int)dr["doc_size"];
string strContentType = (string)dr["ContentType"];
string strName = (string)dr["doc_name"];
byte [] data = (byte[])dr[field];
if(nSize == 0)
{
message.Text = "<font color=#0000ff>没有文件下载!</font>";
}
else
{
Response.Clear();
Response.Buffer = true;
//Response.Charset = "utf-8";
//Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
//utf-8,gb2312,big5
Response.ContentType = strContentType;
//application/ms-excel,application/ms-word,application/ms-txt,application/ms-html或其他浏览器可直接支持文档
string strTemp = System.Web.HttpUtility.UrlEncode(strName, System.Text.Encoding.UTF8);//解决文件名乱码
Response.AppendHeader("content-disposition", "attachment;filename=" + strTemp);//附件下载
//Response.AppendHeader("content-disposition", "online;filename=" + strName);//在线打开
Response.OutputStream.Write(data, 0, nSize);
}
}
catch(Exception exp)
{
Common.utility.MessageBox(this,"下载失败!/n错误信息:/n"+exp.Message);
}
finally
{
conn.Close();
}
}
解决用ASP.NET下载文件时,文件名为乱码的问题的更多相关文章
- java下载文件时文件名出现乱码的解决办法
转: java下载文件时文件名出现乱码的解决办法 2018年01月12日 15:43:32 橙子橙 阅读数:6249 java下载文件时文件名出现乱码的解决办法: String userAgent ...
- Servlet:浏览器下载文件时文件名为乱码问题
1 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcep ...
- C#中解决Response.AddHeader("Content-Disposition", "attachment; filename=" + filename)下载文件时文件名乱码的问题
问题:下载文件时文件名乱码怎么解决? 在C#写后台代码过程中,经常遇到下载文件出现文件名乱码的问题,在网上找了很多方法,总是存在浏览器不兼容的问题,当IE浏览器不乱码时,火狐浏览器就会乱码,后来经过反 ...
- ie浏览器下载文件时文件名乱码
做一个文件下载功能时,用ie浏览器下载时文件名乱码,火狐和谷歌正常,修改后ie显示正常,修改方法如下: @RequestMapping(value = "fileDownload" ...
- Java 解决IE浏览器下载文件,文件名出现乱码问题
/** * 区分ie 和其他浏览器的下载文件乱码问题 * @param request * @param fileName * @return */ public String getFileName ...
- window.location.href下载文件,文件名中文乱码处理
下载文件方法: window.location.href='http://www.baidu.com/down/downFile.txt?name=资源文件'; 这种情况下载时:文件名资源文件会中文乱 ...
- 解决document.location.href下载文件时中文乱码
1:tomcat 安装路径下 找到 conf文件下的server.xml 2:<Connector port="8080" URIEncoding="utf-8&q ...
- Java下载文件时文件名中的中文变成下划线,其他正常
将 utf-8 转换成 ISO8859-1 编码 response.addHeader("Content-Disposition", "attachment;filena ...
- 转载: 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
最近在做一个下载工具时,发现CSDN上的资源下载时竟然没有被拦截到,经过分析,终于有了一个发现,解决了我之前做文件下载时的乱码问题,所以转载这篇释疑文章,希望有人可以看到,可以从中得到帮助,也用来备忘 ...
随机推荐
- Codeforces Round #365 (Div. 2) C - Chris and Road 二分找切点
// Codeforces Round #365 (Div. 2) // C - Chris and Road 二分找切点 // 题意:给你一个凸边行,凸边行有个初始的速度往左走,人有最大速度,可以停 ...
- css 超出部分显示省略号
代码: overflow: hidden; white-space: nowrap; text-overflow: ellipsis; 重点代码:text-overflow: ellipsis; 解 ...
- Memory Cache(内存缓存)
当Google测试了Google Search服务的可用性后,发现速度是最影响Web应用的可用性的因素之一.相对于作用相同但是速度慢的应用,用户更喜欢速度快的应用.多来年,Google已经掌握了如何使 ...
- JSP学习笔记(一)
注释: 1.单行注释<!-- -->或者// <%@ page language="java" import="java.util.*" co ...
- 第二百六十五天 how can I 坚持
每天上班闲着没事干好蛋疼啊.周报都不知道怎么写了. 今天加上了毕梦琪,哎,不知咋聊.好烦. 要搞angelarjs了,希望有机会,多搞点东西,要当架构师,哈哈. 量子计算,什么高深的东西,百度百科了下 ...
- 北京Uber优步司机奖励政策(3月5日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 最长回文子串(Longest Palindromic Substring)-DP问题
问题描述: 给定一个字符串S,找出它的最大的回文子串,你可以假设字符串的最大长度是1000,而且存在唯一的最长回文子串 . 思路分析: 动态规划的思路:dp[i][j] 表示的是 从i 到 j 的字串 ...
- Linux上svn服务器的搭建
安装svn服务器 直接用yum安装,命令如下: #yum install -y subversion 验证是否安装成功. #svnserve --version 创建SVN版本库 在home目录下创建 ...
- 搭建nodejs环境推荐用两个工具:nvm和npm
nvm 是 nodejs version manager 的简称,即:nodejs版本管理npm 是 nodejs package manager 的简称,即:nodejs模块管理 有了这两个工具,管 ...
- ArcGIS10的GDB文件解析(初步)
早就应该写一写关于esri的一些改变 参考http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#//006z000000tr00000 ...