using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { public static class SaveImgByUrl { /// <summary> /// 调用方法 /// </summary> public static void SaveImg() { string imgurl = "https://img0.baidu.com/it/u=2229864841,4232235061&fm=26&fmt=auto";//图片地址 string imgfile = "D:\\1.png"; WriteBytesToFile(imgfile, GetBytesFromUrl(imgurl)); } /// <summary> /// 将数据流转化为图片保存到本地 /// </summary> /// <param name="fileName"></param> /// <param name="content"></param> static public void WriteBytesToFile(string fileName, byte[] content) { FileStream fs = new FileStream(fileName, FileMode.Create); BinaryWriter w = new BinaryWriter(fs); try { w.Write(content); } finally { fs.Close(); w.Close(); } } /// <summary> /// 根据url将图片转化为数据流 /// </summary> /// <param name="url"></param> /// <returns></returns> static public byte[] GetBytesFromUrl(string url) { byte[] b; HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(url); WebResponse myResp = myReq.GetResponse(); Stream stream = myResp.GetResponseStream(); using (BinaryReader br = new BinaryReader(stream)) { b = br.ReadBytes(500000); br.Close(); } myResp.Close(); return b; } } }