私の.NETアプリケーションの1つで、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;
}
}
}
メソッドは正常に動作します。しかし、私がキリル文字のシンボルを渡すときfileNameプロパティが生成された投稿要求ファイル名がのように壊れていますか?の場合?はキリル記号を置き換えます。腐敗することなくキリル文字を送る方法はありますか?
おそらく[this](https://stackoverflow.com/questions/19196258/url-cyrillic-encoding-issue-with-webbrowser-control)の複製です。 – user5226582