0
在我的一个.NET应用程序中,我已经通过HttpClient将文件上传到网站。这里是实施HttpClient的西里尔符号POST请求上传文件名
using (var clientHandler = new HttpClientHandler
{
CookieContainer = cookieContainer,
UseDefaultCredentials = true
})
{
using (var client = new HttpClient(clientHandler))
{
client.BaseAddress = requestAddress;
client.DefaultRequestHeaders.Accept.Clear();
using (var content = new MultipartFormDataContent())
{
var streamContent = new StreamContent(new MemoryStream(fileData));
streamContent.Headers.ContentDisposition = ContentDispositionHeaderValue.Parse("form-data");
streamContent.Headers.ContentDisposition.Parameters.Add(new NameValueHeaderValue("name", "contentFile"));
streamContent.Headers.ContentDisposition.Parameters.Add(new NameValueHeaderValue("filename", "\"" + fileName + "\""));
streamContent.Headers.ContentType = new MediaTypeHeaderValue(contentType);
content.Add(streamContent);
HttpResponseMessage response = await client.PostAsync("/Files/UploadFile", content);
if (response.IsSuccessStatusCode)
{
return true;
}
return false;
}
}
}
方法工作正常。但是当我通过西里尔文符号在文件名属性生成后请求文件名已损坏符号如???? 1.docx为exmaple其中?取代西里尔文符号。有没有任何方法可以发送西里尔文符号而不会发生讹误?
可能是[this]的副本(https://stackoverflow.com/questions/19196258/url-cyrillic-encoding-issue-with-webbrowser-control) – user5226582