asp.net-mvc-3 – 带有重音IE8的ASP MVC3 FileResult – 被窃听
发布时间:2020-12-16 03:21:00 所属栏目:asp.Net 来源:网络整理
导读:如果文件名包含重音符号,则它在Opera,FF,Chrome和IE9中按预期工作. 但在IE8文件类型中是“未知文件类型”,并显示“文件”作为文件名(实际上是URL的最后一部分). 有没有人知道解决方法?替换文件名中的“特殊”字符除外? 测试代码:(文件|新项目|添加控制器)
如果文件名包含重音符号,则它在Opera,FF,Chrome和IE9中按预期工作.
但在IE8文件类型中是“未知文件类型”,并显示“文件”作为文件名(实际上是URL的最后一部分). 有没有人知道解决方法?替换文件名中的“特殊”字符除外? 测试代码:(文件|新项目|添加控制器) public class FileController : Controller { public ActionResult Index(bool? Accents) { byte[] content = new byte[] { 1,2,3,4 }; return File(content,"application/octet-stream",true.Equals(Accents) ? "dsaé.txt" : "dsae.txt"); } } 像这样测试: 编辑=>对我来说,“解决方案”,如果有兴趣的话: public class FileContentResultStupidIE : FileContentResult //yeah,maybe i am not totally "politically correct",but still... { public FileContentResultStupidIE(byte[] fileContents,string contentType) : base(fileContents,contentType) { } public override void ExecuteResult(ControllerContext context) { var b = context.HttpContext.Request.Browser; if (b != null && b.Browser.Equals("ie",StringComparison.OrdinalIgnoreCase) && b.MajorVersion <= 8) { context.HttpContext.Response.AppendHeader("Content-Disposition","attachment; filename="" + HttpUtility.UrlPathEncode(base.FileDownloadName) + """); WriteFile(context.HttpContext.Response); } else { base.ExecuteResult(context); } } } 解决方法
尝试在控制器操作中添加以下行:
Response.HeaderEncoding = Encoding.GetEncoding("iso-8859-1"); 您可以查看讨论这些问题的following blog post.不幸的是,没有一个通用的解决方案适用于所有浏览器. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 由于其保护级别,未声明变量可能无法访问
- asp.net-web-api – 与web api和web api 2之间的PushStream
- asp.net-mvc – 我可以从子部分视图访问父视图的模型吗?
- asp.net – 异步加载Facebook Javascript SDK
- ASP.NET Core Change Build目录
- asp.net signalR 专题—— 第四篇 模拟RPC模式的Hub操作
- asp.net – bootstrap中的body-content类是什么
- ASP.NET MVC3中的HTML反而不是JSON的IIS响应
- asp.net-mvc – MVC不是json序列化实现IEnumerable的模型上
- 在asp.net控件的style属性中使用DataBinder.Eval()
推荐文章
站长推荐
- asp.net – 找出合适的工作语言:从C#分支出来
- asp.net – 更改用户登录名后的身份验证错误
- asp.net-mvc – ASP.NET MVC – Respository / S
- asp.net-mvc-4 – 如何在asp.net MVC4查看页面中
- asp.net-mvc – 部署AntiforgeryToken错误
- asp.net – 实现自定义成员资格提供程序成员资格
- asp.net – 从命令行更改web.config
- asp.net-mvc – 路由是在我的区域中找到控制器,但
- asp.net-mvc-3 – ASP MVC 3测试控制器调用Model
- asp.net-mvc-3 – 返回404错误ASP.NET MVC 3
热点阅读