图片批量下载
开发环境 vs2015
关键组件.NET Framework 4.5
通过工具批量下载网路图片,按照下载的顺序重名图片。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string text1 = this.textBox1.Text.Trim();
if (string.IsNullOrEmpty(text1))
{
MessageBox.Show("保存路径不能为空!");
return;
}
//
string text2 = this.textBox2.Text.Trim();
if (string.IsNullOrEmpty(text2))
{
MessageBox.Show("网络图片不能为空!");
return;
}
//
this.textBox2.ReadOnly = true;
//
string[] strArray = text2.Split('\n');
List<string> strList = new List<string>();
for (int i = 0; i < strArray.Length; i++)
{
string sText = strArray[i].Replace("\r", "");
strList.Add(sText);
}
//
string trueText = string.Empty;
string falseText = string.Empty;
for (int i = 0; i < strList.Count; i++)
{
string extension = Path.GetExtension(strList[i]);
string savePath = text1 + "\\" + (i + 1).ToString() + extension;
Thread.Sleep(1000);//睡眠1000毫秒,也就是1秒
bool dFlag = DownloadPicture(strList[i], savePath);
if (dFlag)
{
trueText += (i + 1).ToString() + ",";
}
else
{
falseText += (i + 1).ToString() + ",";
}
}
this.textBox3.Text = string.Empty;
this.textBox3.Text += "成功:";
this.textBox3.Text += System.Environment.NewLine;
this.textBox3.Text += trueText;
this.textBox3.Text += System.Environment.NewLine;
this.textBox3.Text += "失败:";
this.textBox3.Text += System.Environment.NewLine;
this.textBox3.Text += falseText;
this.textBox3.Text += System.Environment.NewLine;
//
this.textBox2.ReadOnly = false;
}
public static bool DownloadPicture(string PicSourceUrl, string filePath)
{
WebRequest request = WebRequest.Create(PicSourceUrl);
WebResponse response = request.GetResponse();
Stream reader = response.GetResponseStream();
FileStream writer = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write);
try
{
byte[] buff = new byte[1024];
int c = 0; //实际读取的字节数
while ((c = reader.Read(buff, 0, buff.Length)) > 0)
{
writer.Write(buff, 0, c);
}
writer.Close();
writer.Dispose();
reader.Close();
reader.Dispose();
response.Close();
}
catch (Exception ex)
{
return false;
}
finally
{
if (writer != null)
{
writer.Close();
writer.Dispose();
}
if (reader != null)
{
reader.Close();
reader.Dispose();
}
if (response != null)
{
response.Close();
}
}
return true;
}
private void button2_Click(object sender, EventArgs e)
{
FolderBrowserDialog path = new FolderBrowserDialog();
path.ShowDialog();
this.textBox1.Text = path.SelectedPath;
}
}
}
工具下载地址:https://download.csdn.net/download/liuliwei09/21866451?spm=1001.2014.3001.5501