我正在尝试使用C#中的以下代码将具有非拉丁名称的文件放入API。它适用于具有拉丁名称的文件。但是当fileName是阿拉伯语,中文或韩语时,服务器端的文件名变得乱七八糟。我找不到设置文件名编码的方法。我尝试过UTF8Encoding,但它不起作用。有关如何使下面的代码与非英文文件名一起使用的任何想法吗?
attachmentData = myfile;
var urlParameters = "urlToPost";
var client = new HttpClient();
var content = new MultipartFormDataContent();
content.Headers.Add("cguid", Api.MyLoginCredential.cguid);
content.Add(new ByteArrayContent(attachmentData, 0, attachmentData.Count()), "arabic or chinesse name", "arabic or chinesse filename");
var response = client.PutAsync(urlParameters, content, cts.Token).Result;
var result = response.Content.ReadAsStringAsync().Result;
答案 0 :(得分:1)
您可以使用Uri.EscapeDataString(YourString)
示例:
content.Headers.Add(“ filename”,Uri.EscapeDataString(InputFilename));
干杯!