HttpClient设置内容传输编码标头

时间:2013-02-08 11:57:04

标签: c# httpclient

我想使用的REST-API要求在多部分表单数据内容的每个部分上设置标题“Content-Transfer-Encoding”。

我没有找到设置此标头的选项。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

http://www.w3.org/Protocols/rfc1341/5_Content-Transfer-Encoding.html显示了以下常见值:" BASE64" /" QUOTED-PRINTABLE" /" 8BIT" /" 7BIT" /" BINARY" / x-token

在C#中可以按照以下方式设置:

var client = new System.Net.Http.HttpClient();
client.DefaultRequestHeaders.TransferEncoding.Add(new TransferCodingHeaderValue("BASE64"));

答案 1 :(得分:1)

您也可以使用Add(string,string)将您喜欢的任何自定义标头添加到HttpContentHeaders实例。

E.g。

string upload_file_path = @"C:\file_to_upload.bin";
var stream_content = new StreamContent(new FileStream(upload_file_path, FileMode.Open, FileAccess.Read));
stream_content.Headers.Add("Content-Transfer-Encoding", "binary");