c#一個批次下載圖片的類
直接上程式碼:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6 7 namespace DownloadImagebyXMLListFor2008 8 { 9 public class HttpDownLoad 10 { 11 ///12 /// HttpWebRequest Property 13 /// 14 /// 15 /// 16 /// 17 /// 18 public static void DownloadOneFileByURL(string fileName, string url, string localPath, int timeout) 19 { 20 System.Net.HttpWebRequest request = null; 21 System.Net.HttpWebResponse response = null; 22 request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url + fileName); 23 request.Timeout = timeout;//8000 Not work ? 24 response = (System.Net.HttpWebResponse)request.GetResponse(); 25 Stream s = response.GetResponseStream(); 26 BinaryReader br = new BinaryReader(s); 27 //int length2 = Int32.TryParse(response.ContentLength.ToString(), out 0); 28 int length2 = Int32.Parse(response.ContentLength.ToString()); 29 byte[] byteArr = new byte[length2]; 30 s.Read(byteArr, 0, length2); 31 if (File.Exists(localPath + fileName)) { File.Delete(localPath + fileName); } 32 if (Directory.Exists(localPath) == false) { Directory.CreateDirectory(localPath); } 33 FileStream fs = File.Create(localPath + fileName); 34 fs.Write(byteArr, 0, length2); 35 fs.Close(); 36 br.Close(); 37 } 38 ///39 ///Web Client Method ,only For Small picture,else large please use FTP 40 /// 41 /// 42 /// 43 /// 44 public static void DownloadOneFileByURLWithWebClient(string fileName, string url, string localPath) 45 { 46 System.Net.WebClient wc = new System.Net.WebClient(); 47 if (File.Exists(localPath + fileName)) { File.Delete(localPath + fileName); } 48 if (Directory.Exists(localPath) == false) { Directory.CreateDirectory(localPath); } 49 wc.DownloadFile(url + fileName, localPath + fileName); 50 } 51 } 52}
需要注意點:
第一 DownloadOneFileByURL方法,有時會下載不了檔案,如果檔案大於40K就更明顯,DownloadOneFileByURLWithWebClient則無此問題。當然,這個大檔案也是相對的。
第二 呼叫時請用Thread,給出一個示例:
1 private void btnGet_Click(object sender, EventArgs e) 2 { 3 if (txtTempFile.Text.Trim().Length == 0) 4 { 5 ErrorStop("列表檔案為空!"); return; 6 } 7 System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(DownloadAll)); 8 thread.Start(); 9 } 10 private void DownloadAll() 11 { 12 Listls = GetStringsByFile(txtTempFile.Text.Trim()); 13 if (null != ls) 14 { 15 16 foreach (string s in ls) 17 { 18 try 19 { 20 //HttpDownLoad.DownloadOneFileByURL(s, Globals.HttpPreUrl, Globals.LocalPrePath, 8000000); 21 HttpDownLoad.DownloadOneFileByURLWithWebClient(s, Globals.HttpPreUrl, Globals.LocalPrePath); 22 } 23 catch { continue; } 24 } 25 } 26 }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1600/viewspace-2800492/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 圖片下載
- 分享一個圖片處理類
- 用那個下載器能快速批次抓取阿里巴巴國際站商品圖片阿里
- 圖片預載入,圖片懶載入,和jsonp中的一個疑問JSON
- Python 下載圖片Python
- cordova圖片下載
- 京東商品圖片 自動下載 抓取 c# 爬蟲C#爬蟲
- 使用Python實現網頁中圖片的批次下載和水印新增儲存Python網頁
- Python批次裁剪圖片Python
- 批次修改圖片尺寸
- 批次圖片新增水印
- 如何一鍵批次下載淘寶商品主圖的高畫質原圖
- 圖片下載框架概述框架
- 花了一整天寫了個下載markdown圖片到本地的庫?
- 拼多多、小紅書商城上的圖片及影片怎麼快速批次解析下載
- 一個圖片偶爾載入不出來的事故
- 如何實現一個圖片載入框架框架
- ReactPHP 爬蟲實戰:下載整個網站的圖片ReactPHP爬蟲網站
- 本地HTML中圖片下載HTML
- python自動下載圖片Python
- 用python下載自己在聚合圖床上傳的圖片的一種方法Python圖床
- TestFlight下載App,載入圖片失效。Xcode安裝App,圖片載入正常。APPXCode
- python 下,如何快速批次的把 numpy.ndarray 格式的圖片轉成 PIL 庫的 Image 格式的圖片Python
- windows使用者資料夾位置批次修改(影片/圖片/文件/下載/音樂/桌面)Windows
- 教你輕鬆批次下載頭條好貨、拼多多等電商產品圖片
- 大量影片批次新增背景圖片的操作
- 基於ThinkPHP的圖片下載網站PHP網站
- vue點選下載圖片的實現Vue
- 使用httpclient下載 頁面、圖片HTTPclient
- 圖片下載 (hqm精簡版)
- Opencv官方樣例圖片下載OpenCV
- 無需下載軟體怎麼將多張圖片組合成一張圖片
- SDWebImage載入圖片的URL是同一個(如何處理)Web
- 提供一個Glide靈活載入圓角圖片的方法IDE
- 解決新浪微博圖床 403 批次下載圖片等資源(以 MMChat 資料集為例)圖床
- 什麼採集器可整頁批次解析下載天貓電器城全部圖片
- 自動採集器分類批次解析淘寶評論圖片
- 一鍵批次獲取易貝商品圖片的實用技巧