【发布时间】:2011-02-02 08:51:26
【问题描述】:
我正在使用 HttpHandler child 中实现的 HttpContext 对象来下载文件,当我在文件名中有非 ascii 字符时,它在 IE 中看起来很奇怪,而在 Firefox 中看起来很好。
下面是代码:-
context.Response.ContentType = ".cs";
context.Response.AppendHeader("Content-Length", data.Length.ToString());
context.Response.AppendHeader("Content-Disposition", String.Format("attachment; filename={0}",filename));
context.Response.OutputStream.Write(data, 0, data.Length);
context.Response.Flush();
当我在文件名字段中提供 'ß' 'ä' 'ö' 'ü' 'ó' 'ß' 'ä' 'ö' 'ü' 'ó' 时,它看起来与我的不同在文件名中有它在Firefox中看起来很好。添加 EncodingType 和 charset 已经没有用了。
在ie中是'ß''ä''ö''ü''ó''ß' 'ä''ö''ü'_'ó' 在 Firefox 中是 'ß' 'ä' 'ö' 'ü' 'ó' 'ß' 'ä ' 'ö' 'ü' 'ó'。
知道如何解决这个问题吗?
【问题讨论】:
-
这是文件的内容,还是文件名本身?
-
@leppie,它是文件名本身
标签: c# .net http-headers content-disposition