我们有一个.Net Web应用程序,用户可以在其中下载文件。文件可以包含的文件名可能包含丹麦字符æ,ø和å以及其他一些外语字符。
我们使用类HttpResponseMessage将ContentDispositionHeaderValue初始化的文件作为“附件”发送。
但是要分配
FileName
属性在IE中不适用于丹麦语字符,但如果我将文件名分配给
,则有效FileNameStar
其中文件名自动编码为正确的格式。
这样可行:
Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileNameStar = "filename with æ ø and å"
};
但是我找不到任何关于它为何被自动编码的文档,以及哪些浏览器支持此功能。
搜索互联网,提供建议,我应该在将字符串分配给FileNamestar属性之前对其进行url编码。但这不是必需的,因为我可以在http跟踪中看到它被正确编码。
所有主流浏览器都支持此功能吗?我可以确定文件名是否正确编码?
由于 圣战
答案 0 :(得分:3)
取自here:
FileNameStar属性使用IETF RFC 5987编码。 FileName和FileNameStar属性的不同之处仅在于FileNameStar使用IETF RFC 5987中定义的编码,允许使用ISO-8859-1字符集中不存在的字符。