ASP.NET图片下载

#region 下载图片
    protected void Button3_Click(object sender, EventArgs e)
    {
        string url = "http://www.baidu.com/img/baidu_logo.gif";
        string path = @"G:/最新图片/photo/aa.jpg";
        getPhoto(path, url);
    }

    public bool getPhoto(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, true);
            }
        }
        catch (Exception err)
        {
            string aa = err.ToString();
        }
        return Value;
    }


    /// <summary>
    /// 将二进制文件保存到磁盘
    /// </summary>
    /// <param name="response">response.GetResponseStream();</param>
    /// <param name="FileName">文件名</param>
    /// <param name="FileDelete">是否覆盖</param>
    /// <returns>是否成功</returns>
    public bool SaveBinaryFile(System.Net.WebResponse response, string FileName, bool FileDelete)
    {
        bool Value = true;
        byte[] buffer = new byte[1024];
        try
        {
            string DirPath = FileName.Substring(0, FileName.LastIndexOf(@"/") + 1);
            //创建目录
            if (!Directory.Exists(DirPath))
            {
                Directory.CreateDirectory(DirPath);
            }
            //如果文件存在是否重新下载
            if (File.Exists(FileName))
            {
                if (FileDelete)
                    File.Delete(FileName);
                else
                    return Value;
            }
            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 (Exception err)
        {
            string aa = err.ToString();
            Value = false;
        }
        return Value;
    }
    #endregion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值