分享一段过程,这过程是我最近做网站时用到的。还挺好用的,特来分享给大家!
废话不多说,直接上代码
ASP/Visual Basic 代码
- <%
-
-
-
-
-
-
- Public Function ReplaceBeyondUrl(ReplaceContent, SaveFilePath)
- Dim re, BeyondFile, BFU, SaveFileName,SaveFileList
- Set re = New RegExp
- re.IgnoreCase = True
- re.Global = True
- re.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\){1}((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*\/)((\S)+[.]{1}(gif|jpg|png|bmp)))"
- Set BeyondFile = re.Execute(ReplaceContent)
- Set re = Nothing
- For Each BFU In BeyondFile
- If Instr(SaveFileList,BFU)=0 Then
- SaveFileName = Year(Now()) & Month(Now()) & Day(Now()) & MakeRandom(10) & Mid(BFU, InStrRev(BFU, "."))
- If Instr(BFU,"http://localhost")<=0 Then
- 'FsoBegin()
- 'If FsoIsTrue("dir",SaveFilePath)=False Then
- ' CreFolder(SaveFilePath)
- 'End If
- ' FsoEnd()
- Call SaveBeyondFile(SaveFilePath&SaveFileName,BFU)
-
- ReplaceContent = SaveFilePath & SaveFileName
- End If
- End If
- SaveFileList=SaveFileList & "," & BFU
- Next
- ReplaceBeyondUrl = ReplaceContent
- End Function
-
-
-
-
-
-
-
- Function SaveBeyondFile(LocalFileName,RemoteFileUrl)
- on error resume next
- Dim SaveRemoteFile:SaveRemoteFile=True
- dim Ads,Retrieval,GetRemoteData
- Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
- With Retrieval
- .Open "Get", RemoteFileUrl, False, "", ""
- .Send
- If .Readystate<>4 then
- SaveRemoteFile=False
- Exit Function
- End If
- GetRemoteData = .ResponseBody
- End With
- Set Retrieval = Nothing
- Set Ads = Server.CreateObject("Adodb.Stream")
- With Ads
- .Type = 1
- .Open
- .Write GetRemoteData
- .SaveToFile server.MapPath(LocalFileName),2
- .Cancel()
- .Close()
- End With
- Set Ads=nothing
- SaveBeyondFile=SaveRemoteFile
-
-
- end Function
- %>
评论: 0 | 引用: 0 | 查看次数: 615 |
返回顶部