C#抓取网络图片保存到本地

        /// <summary>
        /// 抓取网络图片
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        [HttpGet]
        public ResponseMessage DoGetImage(string url)
        {
            var responseMessage = new ResponseMessage { Info = "" };
            Log4NetHelp.Debug("url:" + url);
            if (url.IndexOf("huikao8.cn") > 0)
            {

                responseMessage.Info = new { Url = url };
                responseMessage.Message = Constants.ADD_ACCESS;
                return responseMessage;
            }
            Bitmap img = null;
            HttpWebRequest req;
            HttpWebResponse res = null;
            try
            {
                System.Uri httpUrl = new System.Uri(url);
                req = (HttpWebRequest)(WebRequest.Create(httpUrl));
                
                req.Timeout = 180000; //设置超时值10秒
                //req.UserAgent = "XXXXX";
                if (url.IndexOf("huikao8.cn") > 0)
                {
                    req.Accept = "application/json, text/javascript, */*";
                }
                req.Method = "GET";
                res = (HttpWebResponse)(req.GetResponse());
                img = new Bitmap(res.GetResponseStream());//获取图片流    

                string virtualPath = "/UploadFile/Imge/";
                string path = HttpContext.Current.Server.MapPath(virtualPath);
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                string fileName = DateTime.Now.ToFileTime().ToString() + ".jpg";
                img.Save(path + fileName);//随机名
                responseMessage.Info = new { Url = PictureHelper.ConcatPicUrl(virtualPath + fileName) };
                responseMessage.Message = Constants.ADD_ACCESS;
            }

            catch (Exception ex)
            {
                string aa = ex.Message;
            }
            finally
            {
                res.Close();
            }
            return responseMessage;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值