根据URL下载文件到本地(将二进制文件保存到磁盘)

12 篇文章 0 订阅

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(resultUrl);
                            response = request.GetResponse();
                            stream = response.GetResponseStream();

                            if (!response.ContentType.ToLower().StartsWith("text/"))
                            {
                                Value = SaveBinaryFile(response, fileName);
                            }


/// <summary>
        /// 将二进制文件保存到磁盘
        /// </summary>
        /// <param name="response"></param>
        /// <param name="FileName"></param>
        /// <returns></returns>
        private static bool SaveBinaryFile(WebResponse response, string FileName)
        {
            bool Value = true;
            byte[] buffer = new byte[1024];

            try
            {
                string filePath = FileName.Substring(0, FileName.LastIndexOf("\\"));
                if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
                if (File.Exists(FileName)) File.Delete(FileName);
                Stream outStream = System.IO.File.Create(FileName);
                Stream inStream = response.GetResponseStream();
                Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
                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;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值