Stores/save an image from the web to disk. : Web Client « Network « C# / C Sharp






Stores/save an image from the web to disk.

      
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Drawing;

namespace ExplorerPlus.Utilities
{
    public static class Web
    {
        /// <summary>
        /// Stores an image from the web to disk.
        /// </summary>
        /// <param name="url">image url</param>
        /// <param name="path">directory path to store image to</param>
        /// <returns>the new path of the saved image path</returns>
        public static string SaveImageToDisk(string url, string path)
        {
            if (System.IO.Directory.Exists(path))
            {
                string savedImagePath = System.IO.Path.Combine(path, System.IO.Path.GetFileName(url));
                if (!File.Exists(savedImagePath))
                {
                    System.Drawing.Image webImage = GetImage(url);
                    webImage.Save(savedImagePath);
                }
                return savedImagePath;
            }

            return string.Empty;
        }
        /// <summary>
        /// returns an image object from a web url stream.
        /// </summary>
        /// <param name="url">image url</param>
        /// <returns>returns an image object from a web url stream.</returns>
        public static System.Drawing.Image GetImage(string url)
        {
            Uri uri = CalculateUri(url);

            if (uri.IsFile)
            {
                using (StreamReader reader = new StreamReader(uri.LocalPath))
                {
                    return Image.FromStream(reader.BaseStream);
                }
            }

            using (WebClient client = new WebClient())
            {
                using (Stream stream = client.OpenRead(uri))
                {
                    return Image.FromStream(stream);
                }
            }
        }
        /// <summary>
        /// Tries to evaluate a url and return its valid location.
        /// </summary>
        public static Uri CalculateUri(string path)
        {
            try
            {
                return new Uri(path);
            }
            catch (UriFormatException)
            {
                path = Path.GetFullPath(path);
                return new Uri(path);
            }
        }

    }
}

   
    
    
    
    
    
  








Related examples in the same category

1.Basic WebClient
2.Save web page from HttpWebResponse
3.Displays the resource specified
4.My Web Client
5.Handle network exceptionsHandle network exceptions
6.Use WebClient to download information into a fileUse WebClient to download information into a file
7.Use LastModifiedUse LastModified
8.Examine the headersExamine the headers
9.Access the InternetAccess the Internet
10.Reading Web Pages
11.NetworkCredential Cache Test
12.NetworkCredential test
13.Download Data Test
14.Download File Test
15.Web GetWeb Get
16.Web Client Upload Values Test
17.Web Client Upload Data Test 2
18.Web Client Response Headers Test
19.Web Client Open Write Test
20.Web Client Open Read Test
21.Gets or sets the network credentials that are sent to the host and used to authenticate the request.
22.Download String
23.Web Downloader
24.Fetches a web page
25.Http Get
26.Returns a site relative HTTP path from a partial path starting out with a ~.
27.Get Web Text
28.HTTP error code