using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
public static string SaveImageFromWeb(string imgUrl, string path, string fileName)//imgUrl图片网页链接,path保存路径,fileName保存文件名
{
if (path.Equals(""))
throw new Exception("未指定保存文件的路径");
string imgName = imgUrl.ToString().Substring(imgUrl.ToString().LastIndexOf("/") + 1);
string defaultType = ".jpg";
string[] imgTypes = new string[] { ".jpg", ".jpeg", ".png", ".gif", ".bmp" };
string imgType = imgUrl.ToString().Substring(imgUrl.ToString().LastIndexOf("."));
string imgPath = "";
foreach (string it in imgTypes)
{
if (imgType.ToLower().Equals(it))
break;
if (it.Equals(".bmp"))
imgType = defaultType;
}
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(imgUrl);
request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)";
request.Timeout = 3000;
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
if (response.ContentType.ToLower().StartsWith("image/"))
{
byte[] arrayByte = new byte[1024];
int imgLong = (int)response.ContentLength;
int l = 0;
if (fileName == "")
fileName = imgName;
FileStream fso = new FileStream(path + fileName + imgType, FileMode.Create);
while (l < imgLong)
{
int i = stream.Read(arrayByte, 0, 1024);
fso.Write(arrayByte, 0, i);
l += i;
}
fso.Close();
stream.Close();
response.Close();
imgPath = fileName + imgType;
return imgPath;
}
else
{
return "";
}
}
static void Main(string[] args)
{
//System.Diagnostics.Process.Start("https://localhost:44381/picTure/SaveImage?path=F%3A%5C%5Ca3.jpg");//重定向到新的页面
//Console.WriteLine(s);
string s=SaveImageFromWeb("https://localhost:44381/picTure/SaveImage?path=F%3A%5C%5Ca3.jpg", "F:\\", "face");
Console.Read();
}
}
}
C#保存网页图片到本地,并打开链接
最新推荐文章于 2024-08-08 11:24:16 发布