asp.net web api 下载文件在IE浏览器文件名显示乱码

小驴来这里学习 2015-12-31 09:56:02

代码是这样的:
            ContentDispositionHeaderValue disposition = new ContentDispositionHeaderValue("inline");

disposition.FileName = temp.Name + "." + temp.ExtName;
disposition.Name = temp.Name;
disposition.Size = (long)temp.Size;

string miniType = GetMiniType(temp.ExtName);

HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new ByteArrayContent(tempData.Data);
result.Content.Headers.ContentType = new MediaTypeHeaderValue(miniType);
result.Content.Headers.ContentDisposition = disposition;

return result;

下载的时候,
firefox是这样的:

IE8是这样的:

局部变量:


请问是什么原因?要怎么修改?
...全文
400 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new ByteArrayContent(System.Text.Encoding.Default.GetBytes("中国".ToCharArray())); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-excel"); result.Content.Headers.ContentDisposition = ContentDispositionHeaderValue.Parse("attachment;filename=" + HttpUtility.UrlEncode("测试.txt")); ---楼主方法网上也看到过
  • 打赏
  • 举报
回复
楼上的我没看,我是这样解决的。 如果不判断IE浏览器,都用utf-8的话,火狐浏览器下载时,中文会乱码
            var useragent = Request.Headers.UserAgent.ToString();
                if (useragent.Contains("MSIE"))
                {
                    disposition.FileName = System.Web.HttpUtility.UrlEncode(temp.Name, System.Text.Encoding.UTF8) + "." + temp.ExtName;
                    disposition.Name = System.Web.HttpUtility.UrlEncode(temp.Name, System.Text.Encoding.UTF8);
                    disposition.Size = (long) temp.Size;
                }
                else
                {
                    disposition.FileName = temp.Name + "." + temp.ExtName;
                    disposition.Name = temp.Name;
                    disposition.Size = (long) temp.Size;
                }
xdashewan 2015-12-31
  • 打赏
  • 举报
回复
http响应头里要设置字符集,看看这篇http://wenku.baidu.com/link?url=VNXc5wyiwhZDbggNITksltfQMwo0nou3KVRdI_gUF_zBYCs2DpWvsaD9bTILzQmSW5uf1uwQzy8iE4CpijV1Qb8CzdCHdA9hjQZLSCTiFYC

62,242

社区成员

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

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

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

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