zoukankan      html  css  js  c++  java
  • 根据URL下载图片到本地

    /// <summary>
    /// 下载图片
    /// </summary>
    /// <param name="picUrl">图片Http地址</param>
    /// <param name="savePath">保存路径</param>
    /// <param name="timeOut">Request最大请求时间,如果为-1则无限制</param>
    /// <returns></returns>
    public bool DownloadPicture(string picUrl, string savePath, int timeOut)
    {
    bool value = false;
    WebResponse response = null;
    Stream stream = null;
    try
    {
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(picUrl);
    if (timeOut != -1) request.Timeout = timeOut;
    response = request.GetResponse();
    stream = response.GetResponseStream();
    if (!response.ContentType.ToLower().StartsWith("text/"))
    value = SaveBinaryFile(response, savePath);
    }
    finally
    {
    if (stream != null) stream.Close();
    if (response != null) response.Close();
    }
    return value;
    }
    private static bool SaveBinaryFile(WebResponse response, string savePath)
    {
    bool value = false;
    byte[] buffer = new byte[1024];
    Stream outStream = null;
    Stream inStream = null;
    try
    {         string dic = Path.GetDirectoryName(savePath);                if (string.IsNullOrEmpty(dic)) return false;                if (Directory.Exists(dic) == false) Directory.CreateDirectory(dic);
    if (File.Exists(savePath)) File.Delete(savePath);
    outStream = System.IO.File.Create(savePath);
    inStream = response.GetResponseStream();
    int l;
    do
    {
    l = inStream.Read(buffer, 0, buffer.Length);
    if (l > 0) outStream.Write(buffer, 0, l);
    } while (l > 0);
    value = true;
    }
    finally
    {
    if (outStream != null) outStream.Close();
    if (inStream != null) inStream.Close();
    }
    return value;
    }

  • 相关阅读:
    Mac MySql突然不好用了,说权限不够
    关闭Nginx的进程
    Mac 设置域名解析
    Docker的Yml文件
    Docker遇到的异常和注意点
    MySQL 查询时间段内的数据
    golang martini 源码阅读笔记之martini核心
    golang martini 源码阅读笔记之inject
    使用erlang实现简单的二进制通信协议
    使用 erlang OTP 模式编写非阻塞的 tcp 服务器(来自erlang wiki)
  • 原文地址:https://www.cnblogs.com/520lw/p/12972213.html
Copyright © 2011-2022 走看看