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;
}
}
}