文件下载,如何弹出下载对话框,对话框中文件名汉字乱麻问题如何解决? 如题!我在做B/S文件下载,但弹出下载文件对话框时,对话框中的汉字文件名变成了乱码,英文和数字没问题,如何解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 FileInfo MyFileInfo = new FileInfo(spath+downfile); long FileSize = MyFileInfo.Length; Page.Response.Buffer=true; Page.Response.ContentType="APPLICATION/OCTET-STREAM"; Page.Response.AddHeader("Content-Disposition","attachment;filename="+Server.UrlEncode(downfile)); Response.WriteFile(spath+downfile, 0, FileSize); Page.Response.Flush(); Page.Response.End(); 读出来你要的文件,然后写给客户端就成了,用urlencode编码以后,客户端文件名就会正确,不会汉字乱码 System.Text.Encoding.GetEncoding("GB2312");只是类似的或utf8这类的 Response.ContentType = _BlobTypeResponse.Buffer = TrueResponse.Clear()Response.ClearHeaders()Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")Response.AppendHeader( "Content-Disposition", "attachment;filename=" & HttpUtility.UrlEncode(_FileName, System.Text.Encoding.UTF8))Response.Flush()Response.BinaryWrite(_BlobByte)Response.End()不过文件名太长还是不能显示! 我也曾遇到过这样的问题,加了UrlEncode还是乱码。原来还要加上Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")。 大型数据库站内搜索优化问题. 询问下ASP.NET模板的一些问题 asp.net页面查询时减少服务器负担的问题 datalist绑定后如何修改 用Javascript怎样判断用户输入的是不是数字? 很急很简单的一个问题,关于LISTBOX控件的问题!! 我刚开始自学ASP.NET遇到的问题!!! 抛出这样的错误,怎么回事?如何解决? ASP页面中的静态类型无法声明小问题 共同讨论:关于OA系统文档管理部分的开发思路.(欢迎大家发言) 用ASP .NET开发遇到问题请教!谢谢关注! 简单问题,关于正则表达式
long FileSize = MyFileInfo.Length;
Page.Response.Buffer=true;
Page.Response.ContentType="APPLICATION/OCTET-STREAM";
Page.Response.AddHeader("Content-Disposition","attachment;filename="+Server.UrlEncode(downfile));
Response.WriteFile(spath+downfile, 0, FileSize);
Page.Response.Flush();
Page.Response.End(); 读出来你要的文件,然后写给客户端就成了,用urlencode编码以后,客户端文件名就会正确,不会汉字乱码
只是类似的或utf8这类的
Response.Buffer = True
Response.Clear()
Response.ClearHeaders()
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")
Response.AppendHeader(
"Content-Disposition",
"attachment;filename=" & HttpUtility.UrlEncode(_FileName, System.Text.Encoding.UTF8))
Response.Flush()
Response.BinaryWrite(_BlobByte)
Response.End()不过文件名太长还是不能显示!
原来还要加上Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")。