How to programmatically save image from url?

How to programmatically save an image from a URL? I use C # and should be able to capture images from a URL and store them locally .... and no, I do not steal :)

+42
c # image
Jul 10 '09 at 15:28
source share
3 answers

It would be easier to write something like this:

WebClient webClient = new WebClient(); webClient.DownloadFile(remoteFileUrl, localFileName); 
+96
Jul 10 '09 at 15:45
source share
— -

You just need to make a basic HTTP request using the HttpWebRequest for the image URI, then take the received byte stream, then save this stream to a file.

Here is an example of how to do this ...

'As a side note, if the image is very large, you can break br.ReadBytes (500000) into a loop and capture n bytes at a time, writing down each batch of bytes as you extract them. ''

 using System; using System.IO; using System.Net; using System.Text; namespace ImageDownloader { class Program { static void Main(string[] args) { string imageUrl = @"http://www.somedomain.com/image.jpg"; string saveLocation = @"C:\someImage.jpg"; byte[] imageBytes; HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl); WebResponse imageResponse = imageRequest.GetResponse(); Stream responseStream = imageResponse.GetResponseStream(); using (BinaryReader br = new BinaryReader(responseStream )) { imageBytes = br.ReadBytes(500000); br.Close(); } responseStream.Close(); imageResponse.Close(); FileStream fs = new FileStream(saveLocation, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); try { bw.Write(imageBytes); } finally { fs.Close(); bw.Close(); } } } } 
+27
Jul 10 '09 at 15:31
source share

Example in aspx (C #)

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Net; using System.IO; public partial class download_file_from_url : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string url = "http://4rapiddev.com/wp-includes/images/logo.jpg"; string file_name = Server.MapPath(".") + "\\logo.jpg"; save_file_from_url(file_name, url); Response.Write("The file has been saved at: " + file_name); } public void save_file_from_url(string file_name, string url) { byte[] content; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); WebResponse response = request.GetResponse(); Stream stream = response.GetResponseStream(); using (BinaryReader br = new BinaryReader(stream)) { content = br.ReadBytes(500000); br.Close(); } response.Close(); FileStream fs = new FileStream(file_name, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); try { bw.Write(content); } finally { fs.Close(); bw.Close(); } } } 

Posted by: HOAN HUYNH
ASP.Net C # Download or save image file by URL

+3
Oct 31 '14 at 11:03
source share



All Articles