我在 .NET 4.5 上使用 ASP.NET 服务器,客户端是 WinRT 平台上的 C# HttpClient。我想使用 HttpClient 上传文件并使用 System.Net.Http.MultipartFormDataContent 类来构造一个有效的 http 请求。一切正常,直到我有一个带有 DBCS 字符的文件名。
MultiPartFormDataContent 类正确编码上传文件名中的字符,并根据 RFC 6266 在内容处置标头中发送文件名和文件名*键。
但是,ASP.NET 服务器会忽略文件名* 并仅读取文件名,因此文件会以奇怪的字符保存在服务器上。
有没有其他人遇到过同样的问题?如何在服务器端获取文件名*并忽略 HttpRequest 中的文件名键?[这将是我的首选解决方案。]
或者,如何强制 MultiPartFormDataContent 仅发送文件名密钥并强制设置 UTF-8 编码字符串?