//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;
  }

C#下在图片文件本地的更多相关文章

  1. opencv-python imread、imshow浏览目录下的图片文件

    ☞ ░ 前往老猿Python博文目录 ░ 一.几个知识点 1.1.使用Python查找目录下的文件 具体请参考<Python正则表达式re模块和os模块实现文件搜索模式匹配>. 1.2.o ...

  2. linux 下查找图片文件方法

    通常是通过文件后缀名查找图片文件,如果没有文件后缀的图片或者伪造的图片文件,则这种判定方法将达不到要求.我们可以根据读取文件头进行图片文件类型的判定. 比较流行的图片文件类型有:jpg png bmp ...

  3. 小程序-图片/文件本地缓存,减少CDN流量消耗

    写在前面 小程序网络图片读取: 在读取OSS图片CDN分发时流量大量消耗,导致资金费用增加. 网络图片比较大时,图片加载缓慢. 为了尽量减少上面两个问题,所以对已读的图片进行缓存处理,减少多次访问不必 ...

  4. Qt遍历图片文件

    原地址:http://blog.sina.com.cn/s/blog_5c70dfc80100tgff.html //实现遍历某个文件下的图片文件 //如果想遍历其余类型文件,方法也一样,只需简单修改 ...

  5. android中如何获取指定目录下的图片

    需要对指定目录的图片文件进行列表,借鉴了网上的方法,发现列表出来是所有的文件,这样用起来很不方便,在这里也没找到解决的办法,经过自己的进一步研究终于搞定,发上来给有用的同学.用下面这种方式能实现查询实 ...

  6. FileReader:读取本地图片文件并显示

    最近忙得比狗还惨,导致长时间没能更新文章,真心对不住啊.抽空整理了下关于在页面上读取和显示本地图片的实例文章,本文通过实例讲解如何使用支持FileReader浏览器的用户将能够通过一个file inp ...

  7. nodejs下载图片到本地,根据百度图片查找相应的图片,通过nodejs保存到本地文件夹

    根据百度图片查找相应的图片:输入图片关键字,输入图片数量(默认是30条),通过nodejs将批量保存图片到本地文件夹. 代码已上传到github上:代码github的地址 下载后进去back-end: ...

  8. 如何将S/4HANA系统存储的图片文件用Java程序保存到本地

    我在S/4HANA的事务码MM02里为Material维护图片文件作为附件: 通过如下简单的ABAP代码即可将图片文件的二进制内容读取出来: REPORT zgos_api. DATA ls_appl ...

  9. Android 遍历sdcard中指定文件夹下的图片(jpg,jpeg,png)

    File scanner5Directory = new File(Environment.getExternalStorageDirectory().getPath() + "/scann ...

随机推荐

  1. 算法打基础——符号&递归解法

    第二节 算法复杂度分析的的基本符号及 递归关系式下的复杂度解法 这次的主要知识点是: 1.各种复杂度符号  2.递归复杂度解法: 分为三种 替换法(猜!)   递归树法    主定理 1各种复杂度符号 ...

  2. HashMap源码剖析

    HashMap源码剖析 无论是在平时的练习还是项目当中,HashMap用的是非常的广,真可谓无处不在.平时用的时候只知道HashMap是用来存储键值对的,却不知道它的底层是如何实现的. 一.HashM ...

  3. C#操作Kentico cms

    C#操作Kentico cms 中的 content(winform环境) 前段时间做了个winform程序,去管理kentico网站的content,包括content节点的增删改查,以及相应节点内 ...

  4. QuickSwitchSVNClient,快速完成SVN Switch的工具

    [开源]QuickSwitchSVNClient,快速完成SVN Switch的工具 在实际的开发中,我们一般使用SVN工具进行源代码的管理.在实际的产品开发中,根据项目的一些定制要求,往往需要对某一 ...

  5. .net下灰度模式图像

    .net下灰度模式图像在创建Graphics时出现:无法从带有索引像素格式的图像创建graphics对象 问题的解决方案. Posted on 2013-07-13 14:23 Imageshop 阅 ...

  6. PHP 数组拼接成字符串

    PHP[知识分享] 数组拼接成字符串 <?php // 格式: [二维数组] Array ( [0] => Array ( [topicid] => 1 ) [1] => Ar ...

  7. 使用Cobertura统计JUnit测试覆盖率

    这是一个JavaProject,关于Cobertura的用法详见代码注释 首先是应用代码(即被测试的代码) package com.jadyer.service; public class Calcu ...

  8. 【C++自我精讲】基础系列一 指针与引用

    [C++自我精讲]基础系列一 指针与引用   一 前言   指针.引用.指针与引用区别. 二 指针   变量:代码中常常通过定义变量来申请并命名存储空间,并通过变量的名字来使用这段存储空间. //变量 ...

  9. 链方法[C# 基础知识系列]专题三:如何用委托包装多个方法——委托链

    最近研究链方法,稍微总结一下,以后继续补充: 弁言: 上一专题分析了下编译器是如何来翻译委托的,从中间语言的角度去看委托,希望可以帮助大家进一步的理解委托,然而之前的分析都是委托只是封装一个方法,那委 ...

  10. Angularjs通过$http与服务器通信

    angular是一个前端框架,实现了可交互式的页面,但是对于一个web应用,页面上进行展示的数据从哪里来,肯定需要服务端进行支持,那么angular是如何同服务端进行交互的呢? $http angul ...