2011-04-28 24 views

Respuesta

26

Solicite la imagen y guárdela. Por ejemplo:

byte[] data; 
using (WebClient client = new WebClient()) { 
    data = client.DownloadData("http://testsite.com/web/abc.jpg"); 
} 
File.WriteAllBytes(@"c:\images\xyz.jpg", data); 
+0

servidor remoto devolvió un error: (401) no autorizado. – James123

+0

Me gusta esta respuesta en lugar de utilizar directamente DownloadFile, ya que brinda la oportunidad de comparar los datos antes de enviarlos a un archivo. – MikeDub

9

Se puede usar un WebClient:

using (WebClient wc = new WebClient()) 
    wc.DownloadFile("http://testsite.com/web/abc.jpg", @"c:\images\xyz.jpg"); 

Esto supone que en realidad tiene derechos de escritura para la carpeta C:\images.

+0

El servidor remoto devolvió un error: (401) no autorizado. – James123

+1

Inténtalo con una URL de la que estás autorizado a descargar, de lo contrario, debes proporcionar al WebClient credenciales que funcionen en el servidor de destino. – BrokenGlass

3

eso no es demasiado difícil. Abrir un cliente Web y agarrar los bits, guardarlos localmente ....

using (WebClient webClient = new WebClient()) 
{ 
    using (Stream stream = webClient.OpenRead(imgeUri)) 
    { 
     using (Bitmap bitmap = new Bitmap(stream)) 
     { 
     stream.Flush(); 
     stream.Close(); 
     bitmap.Save(saveto); 
     } 
    } 
} 
+1

¿Por qué obligarías a la imagen jpg a un mapa de bits? –

1
string path = "~/image/"; 
string picture = "Your picture name with extention"; 
path = Path.Combine(Server.MapPath(path), picture); 
using (WebClient wc = new WebClient()) 
          { 
wc.DownloadFile("http://testsite.com/web/abc.jpg", path); 
          } 

Sus trabajos para mí

Cuestiones relacionadas