ASP採集入庫產生本地檔案的幾個函數

來源:互聯網
上載者:User

'*****************************************************************
' function
' 作用 :利用流儲存檔案
' 參數 :from(遠程檔案地址),tofile(儲存檔案位置)
'*****************************************************************
Private Function SaveFiles(byref from,byref tofile)
Dim Datas
Datas=GetData(from,0)
Response.Write "儲存成功:"&formatnumber(len(Datas)/1024*2,2)&"Kb"
response.Flush
if formatnumber(len(Datas)/1024*2,2)>1 then
ADOS.Type = 1
ADOS.Mode =3
ADOS.Open
ADOS.write Datas
ADOS.SaveToFile server.mappath(tofile),2
ADOS.Close()
else
Response.Write "儲存失敗:檔案大小"&formatnumber(len(imgs)/1024*2,2)&"Kb,小於1K"
response.Flush
end if
end function

'*****************************************************************
' function(私人)
' 作用 :利用fso檢測檔案是否存在,存在返回true,不存在返回false
' 參數 :filespes(檔案位置)
'*****************************************************************
Private Function IsExists(byref filespec)
If (FSO.FileExists(server.MapPath(filespec))) Then
IsExists = True
Else
IsExists = False
End If
End Function

'*****************************************************************
' function(私人)
' 作用 :利用fso檢測檔案夾是否存在,存在返回true,不存在返回false
' 參數 :folder(檔案夾位置)
'*****************************************************************
Private Function IsFolder(byref Folder)
If FSO.FolderExists(server.MapPath(Folder)) Then
IsFolder = True
Else
IsFolder = False
End If
End Function

'*****************************************************************
' function(私人)
' 作用 :利用fso建立檔案夾
' 參數 :fldr(檔案夾位置)
'*****************************************************************
Private Function CreateFolder(byref fldr)
Dim f
Set f = FSO.CreateFolder(Server.MapPath(fldr))
CreateFolder = f.Path
Set f=nothing
End Function

'*****************************************************************
' function(公有)
' 作用 :儲存檔案,並自動建立多級檔案夾
' 參數 :fromurl(遠程檔案地址),tofiles (儲存位置)
'*****************************************************************
Public Function SaveData(byref FromUrl,byref ToFiles)
ToFiles=trim(Replace(ToFiles,"//","/"))
flName=ToFiles
fldr=""
If IsExists(flName)=false then
GetNewsFold=split(flName,"/")
For i=0 to Ubound(GetNewsFold)-1
if fldr="" then
fldr=GetNewsFold(i)
else
fldr=fldr&"\"&GetNewsFold(i)
end if
If IsFolder(fldr)=false then
CreateFolder fldr
End if
Next
SaveFiles FromUrl,flName
End if
End function
'*****************************************************************
' function(公有)
' 作用 :取得遠端資料
' 參數 :url(遠程檔案地址),getmode (模式:0為二進位,1為中文編碼)
'*****************************************************************
Public Function GetData(byref url,byref GetMode)
'on error resume next
SourceCode = OXML.open ("GET",url,false)
OXML.send()
if OXML.readystate<>4 then exit function
if GetMode=0 then
GetData = OXML.responseBody
else
GetData = BytesToBstr(OXML.responseBody)
end if
if err.number<>0 then err.Clear
End Function

'*****************************************************************
' function(公有)
' 作用 :格式化遠程圖片地址為本地位置
' 參數 :imgurl(遠程圖片地址),imgfolder (本地圖片目錄),fristname(加入的首碼名稱)
'*****************************************************************
Public Function FormatImgPath(byref ImgUrl,byref ImgFolder,byref FristName,byref noimg)
strpath=""
ImgUrl=ImgUrl
if instr(ImgUrl,"Nophoto") or lenb(GetData(ImgUrl,0))<=0 then
strpath=noimg
Response.Write ""&strpath&"" &vbcrlf
else
if Instr(ImgUrl,".asp") then
strpath=FristName&"_"&Mid(ImgUrl, InStrRev(ImgUrl, "=")+1)&".jpg"
else
strpath=FristName&"_"&Mid(ImgUrl, InStrRev(ImgUrl, "/")+1)
end if
strpath = ImgFolder&"/"&strpath
strpath = Replace(strpath,"//","/")
if left(strpath,1)="/" then strpath=right(strpath,len(strpath)-1)
strpath = trim(strpath)
Response.Write ""&strpath&"" &vbcrlf
savedata ImgUrl,strpath
end if
FormatImgPath = strpath
End function

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.