The*_*ask 33 .net c# webclient header
如何在webClient课堂上设置标题?我试过了:
client.Headers["Content-Type"] = "image/jpeg";
Run Code Online (Sandbox Code Playgroud)
抛出一个 WebException
我的代码:
WebClient client = new WebClient();
client.Headers.Set("Content-Type", "image/png");
client.Headers.Set("Content-Length", length);
client.Headers.Add("Slug", name);
NameValueCollection nvc = new NameValueCollection();
nvc.Add("file", FileContents);
Byte[] data = client.UploadValues(url, nvc);
string res = Encoding.ASCII.GetString(data);
Response.Write(res);
Run Code Online (Sandbox Code Playgroud)
jdc*_*589 44
如果标头已存在:
client.Headers.Set("Content-Type", "image/jpeg");
Run Code Online (Sandbox Code Playgroud)
如果它是一个新标题:
client.Headers.Add("Content-Type", "image/jpeg");
Run Code Online (Sandbox Code Playgroud)
此外,您可能会收到错误,因为您尝试设置标题太晚了.发布您的例外,以便我们通知您.
更新
看起来对WebClient类的"Content-Type"标题有一些奇怪的限制.查看使用client.Download方法(DownloadData,DownloadFile等...)
看看在webclient上使用"UploadFile"方法是否有效,而不是手动执行.它返回respose body byte [].
如果您继续遇到WebClient问题,请尝试使用普通的旧HttpRequest/HttpWebRequest.
saj*_*ith 14
看来你无法使用WebClient.UploadValues方法设置Content-type.您可以使用WebClient.UploadData方法设置Content-type
使用类似的东西,
Client.Headers["Content-Type"] = "application/json";
Client.UploadData("http://www.imageshack.us/upload_api.php", "POST", Encoding.Default.GetBytes("{\"Data\": \"Test\"}"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66194 次 |
| 最近记录: |