webClient
クラスにヘッダーを設定するにはどうすればよいですか?私は試した:
client.Headers["Content-Type"] = "image/jpeg";
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);
ヘッダーが既に存在する場合:
client.Headers.Set("Content-Type", "image/jpeg");
新しいヘッダーの場合:
client.Headers.Add("Content-Type", "image/jpeg");
また、ヘッダーの設定が遅すぎるため、エラーが発生する可能性があります。例外を投稿してお知らせください。
更新
WebClientクラスの「Content-Type」ヘッダーには奇妙な制限があるようです。 client.Downloadメソッド(DownloadData、DownloadFileなど)の使用を確認してください。
手動で行うのではなく、webclientで「UploadFile」メソッドが機能するかどうかを確認します。それは、respose body byte []を返します。
WebClientで引き続き問題が発生する場合は、単純な古いHttpRequest/HttpWebRequestを使用して正当化してみてください。
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\"}"));
この構文を試しましたか:client.Headers.Add("Content-Type", "image/jpeg");
あなたのスタックトレースは何ですか?これをどの時点で設定していますか?また、IIS/OSのどのバージョンで実行していますか?