C#下载图片文件到本地

 

//C#下在图片文件到本地,c#,c#下载,下载图片,下载文件,下载函数
// 从图片地址下载图片到本地磁盘
// 将二进制文件保存到磁盘

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Net; 
using System.IO;
using System.Text;

private void menuItem36_Click(object sender, System.EventArgs e)
{
   string FileName;
   string Url;
   FileName="c:\1.gif";
   Url="   if (SavePhotoFromUrl(FileName,Url)){
    MessageBox.Show("图片下载成功");
   }
   else
   {
    MessageBox.Show("图片下载失败");
   
   }


   }

/// <summary>
/// 从图片地址下载图片到本地磁盘
/// </summary>
/// <param name="ToLocalPath">图片本地磁盘地址</param>
/// <param name="Url">图片网址</param>
/// <returns></returns>
public static bool SavePhotoFromUrl(string FileName,string Url)
{
   bool Value=false;
   WebResponse response = null;
   Stream stream = null;

   try
   {
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
       
    response = request.GetResponse();
    stream = response.GetResponseStream();

    if( !response.ContentType.ToLower().StartsWith("text/") )
    {
     Value=SaveBinaryFile(response,FileName);

     }

   }
   catch(Exception err)
         {
          string aa=err.ToString();
         }
    return Value;
   }
/// <summary>
/// Save a binary file to disk.
/// </summary>
/// <param name="response">The response used to save the file</param>
// 将二进制文件保存到磁盘
private static bool SaveBinaryFile(WebResponse response,string FileName)
{
   bool Value=true;
   byte []buffer = new byte[1024];

   try
   {
    if(File.Exists(FileName))
     File.Delete(FileName);
    Stream outStream =System.IO.File.Create( FileName );
    Stream inStream = response.GetResponseStream(); 
   
    int l;
    do
    {
     l = inStream.Read(buffer,0,buffer.Length);
     if(l>0)
      outStream.Write(buffer,0,l);
    }
    while(l>0);
   
    outStream.Close();
    inStream.Close();
   }
   catch
   {
    Value=false;
   }
   return Value;
}

posted @ 2012-10-22 22:14  小满子  阅读(5756)  评论(0编辑  收藏  举报