c# - method - WebClient establece encabezados
webclient examples c# (4)
Parece que no puede establecer el tipo de contenido con el método WebClient.UploadValues. Puede establecer Content-type con el método WebClient.UploadData
Usa algo como,
Client.Headers["Content-Type"] = "application/json";
Client.UploadData("http://www.imageshack.us/upload_api.php", "POST", Encoding.Default.GetBytes("{/"Data/": /"Test/"}"));
¿Cómo puedo configurar un encabezado en la clase webClient
? Lo intenté:
client.Headers["Content-Type"] = "image/jpeg";
eso arroja una WebException
Mi código:
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);
Si el encabezado ya existe:
client.Headers.Set("Content-Type", "image/jpeg");
si es un nuevo encabezado:
client.Headers.Add("Content-Type", "image/jpeg");
Además, existe la posibilidad de que reciba un error porque está tratando de configurar los encabezados demasiado tarde. Publique su excepción para que podamos informarle.
Actualizar
Parece que hay algunas restricciones raras en el encabezado "Content-Type" con la clase WebClient. Mire para usar el cliente. Métodos de descarga (DownloadData, DownloadFile, etc ...)
Vea si funciona el método "UploadFile" en webclient en lugar de hacerlo manualmente. Devuelve el cuerpo de reposo byte [].
Si continúa teniendo problemas con WebClient, intente justificar el uso de una vieja simple HttpRequest / HttpWebRequest.
¿Has probado esta sintaxis: client.Headers.Add("Content-Type", "image/jpeg");
¿Cuál es tu rastro de pila? ¿En qué punto estás configurando esto? ¿Y en qué versión de IIS / OS se está ejecutando?