• 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="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;
      }

  • 相关阅读:
    Bluetooth architecture (HCI/L2CAP)
    堆栈
    Inside the C++ Object Model 深度探索对象模型 57
    Android音乐播放器
    (一)开发板系统安装
    html5的canvas写一个简单的画板程序
    C++ 获取日历时间
    Incremental Differential vs. Incremental Cumulative Backups
    BCB安装控件出现Unresolved external '__fastcall Outline::TCustomOutline
    Windows 环境下配置 Oracle 11gR2 Data Guard 手记
  • 原文地址:https://www.cnblogs.com/libaoli/p/5218195.html
Copyright © 2020-2023  润新知