<% '將圖片欄位讀出,並存入 strUrl 變數中 Dim strUrl Do While not RS.EOF strUrl = strUrl & RS("图片") RS.MoveNext Loop '將 strUrl 折解,並存入 arrUrl 陣列中 Dim arrUrl arrUrl = Split(strUrl, ";") '1、檢查遠端檔案是否存在,若不存在則警告訊息,但不影響程式進行 '2、檢查本地有否對應目錄,若不存在則建立目錄 '3、將遠端檔案下載到本地 Dim winPath1, winPath2 Dim arrPath Dim FileName Dim i, j Dim Total Dim ErrText winPath1 = "E:\Temp\PULADA\" '此目錄必須自己手動建立 For i = LBound(arrUrl) to UBound(arrUrl) - 1 '將 arrUrl(i) 拆解為另一陣列 arrPath,以便取得完整檔名 arrPath = Split(Replace(arrUrl(i), "http://" , ""), "/") '取得完整檔名 FileName = arrPath(UBound(arrPath)) '1、檢查遠端檔案是否存在,若不存在則警告訊息,但不影響程式進行 Set XMLHTTP = Server.Createobject("MSXML2.ServerXMLHTTP.5.0") XMLHTTP.Open "GET", arrUrl(i), false XMLHTTP.Send() '判斷遠端檔案是否存在,200 代表存在,404 代表不存在 If XMLHTTP.Status <> 200 Then Response.Write "<font color=FF0000>第 " & i + 1 & " 筆:失敗" & "<br>" '記錄錯誤訊息,然後在程式執行完後顯示 ErrText = ErrText & arrUrl(i) & "<br>" Else RemoteFile = XMLHTTP.ResponseBody '2、檢查本地有否對應目錄,若不存在則建立目錄 Set FSO = Server.CreateObject("Scripting.FileSystemObject") For j = LBound(arrPath) to UBound(arrPath) - 1 winPath2 = winPath2 & arrPath(j) & "\" '判斷目的目錄是否存在,若不存在則建立 If not FSO.FolderExists(winPath1 & winPath2) Then FSO.CreateFolder(winPath1 & winPath2) End If Next Set FSO = Nothing '3、將遠端檔案下載到本地 Set objAdostream = Server.Createobject("ADODB.Stream") objAdostream.Open() objAdostream.Type = 1 objAdostream.Write(RemoteFile) objAdostream.SaveToFile(winPath1 & winPath2 & FileName), 2 '2 代表不詢問,直接覆蓋 objAdostream.SetEOS Set objAdostream = Nothing Response.Write "<font color=0000FF>第 " & i + 1 & " 筆:成功" & "<br>" '記錄成功的筆數 Total = Total + 1 'winPath 必須清除內容,不然會出現建立目錄時產生無限迴圈 winPath2 = "" End If Response.Flush Response.Clear Next Response.Write "<br><br>" Response.Write "<font color=0000FF>總相片數應為:</font>" & UBound(arrUrl, 1) & "<br>" Response.Write "<font color=0000FF>實際下載數為:</font>" & Total & "<br>" Response.Write "<font color=0000FF>未下載的連結:</font>" & "<br>" & ErrText & "<br>" %> |
資料來源:
如何用 asp 下載網址有中文字的遠端檔案
http://www.blueshop.com.tw/board/FUM200410061525290EW/BRD20140715120104M6P.html
本站其他相關資料 :
抓取遠端網頁錯誤代碼404,檢查遠端檔案是否存在
http://gdlion.blogspot.tw/2015/02/httpwebrequest404.html
沒有留言:
張貼留言