我们有一个.Net网络应用程序,用户可以在这里下载文件。这些文件的文件名可能包含丹麦语字符、字母和字符以及其他一些外来语言的字符。
我们使用类HttpResponseMessage发送ContentDispositionHeaderValue初始化为“附件”的文件。
但是,分配
FileName
属性在IE中对丹麦语字符不起作用,但如果我将文件名分配给
FileNameStar
其中文件名自动编码为正确的格式。
因此,这是可行的:
Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileNameStar = "filename with æ ø and å"
};
但是,我找不到任何文档来说明为什么它会自动编码,以及哪个浏览器支持这个特性。
搜索internet,给出建议,在将字符串分配给FileNamestar属性之前,我应该对字符串进行url编码。但这不是必要的,正如我在http跟踪中看到的那样,它是正确编码的。
所有主流浏览器都支持这一点吗?我能确定文件名的编码是否正确吗?
谢谢吉哈德
发布于 2017-02-14 02:15:05
取自这里
FileNameStar属性使用IETF 5987编码。FileName和FileNameStar属性的不同之处在于FileNameStar使用了IETF 5987中定义的编码,允许使用IETF 5987字符集中不存在的字符。
https://stackoverflow.com/questions/40687275
复制相似问题