文件下载,如何弹出下载对话框,对话框中文件名汉字乱麻问题如何解决?

逸剑听潮 2004-11-01 09:28:22
如题!
我在做B/S文件下载,但弹出下载文件对话框时,对话框中的汉字文件名变成了乱码,英文和数字没问题,如何解决?
...全文
210 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yghuang96 2004-11-01
  • 打赏
  • 举报
回复
我也曾遇到过这样的问题,加了UrlEncode还是乱码。
原来还要加上Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")。
xiaohutushen 2004-11-01
  • 打赏
  • 举报
回复
up
jadeface 2004-11-01
  • 打赏
  • 举报
回复
Response.ContentType = _BlobType
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()

不过文件名太长还是不能显示!
tianjue0921 2004-11-01
  • 打赏
  • 举报
回复
System.Text.Encoding.GetEncoding("GB2312");
只是类似的或utf8这类的
kwork 2004-11-01
  • 打赏
  • 举报
回复
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编码以后,客户端文件名就会正确,不会汉字乱码

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧