C#下在网络图片到本地磁盘
小白浏览:2042019-11-28 14:32:17本文累计收益:0我也要赚钱

项目中用到下载图片代码,百度了一下记录如下:

// 从图片地址下载图片到本地磁盘
// 将二进制文件保存到磁盘

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="http://www.baidu.com/img/logo-yy.gif";
   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;
  }

 

评论列表
发表评论
+ 关注