.net – ContentDispositionHeaderValue.FileName和ContentDispositionHeaderValue.FileNameStar之间的区别

我们有一个.Net Web应用程序,用户可以在其中下载文件.文件可以包含的文件名可能包含丹麦字符æ,ø和å以及某些外语的其他字符.

我们使用类HttpResponseMessage将ContentDispositionHeaderValue初始化的文件作为“附件”发送.

然而分配

FileName 

属性在IE中不适用于丹麦语字符,但如果我将文件名分配给,则有效

FileNameStar

文件名自动编码为正确的格式.

这样可行:

Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
    FileNameStar = "filename with æ ø and å"
};

但是我找不到任何关于它为何被自动编码的文档,以及哪些浏览器支持此功能.

搜索互联网,给出建议,我应该在将字符串分配给FileNamestar属性之前对其进行编码.但这不是必需的,因为我可以在http跟踪中看到它被正确编码.

所有主流浏览器都支持这个吗?我可以确定文件名是否正确编码?

谢谢
讨伐异教徒

最佳答案
摘自here

The FileNameStar property uses IETF RFC 5987 encoding. The FileName and FileNameStar properties differ only in that FileNameStar uses the encoding defined in IETF RFC 5987, allowing the use of characters not present in the ISO-8859-1 character set.

转载注明原文:.net – ContentDispositionHeaderValue.FileName和ContentDispositionHeaderValue.FileNameStar之间的区别 - 代码日志