Public Property Get RemoteFileName()
RemoteFileName = sOriginalFileName
End Property
Public Property Get LocalFileName()
LocalFileName = sSaveFileName
End Property
Public Property Get LocalFilePath()
LocalFilePath = sPathFileName
End Property
Public Property Let RemoteDir(ByVal strDir)
sUploadDir = strDir
End Property
Public Property Let AllowMaxSize(ByVal intSize)
nAllowSize = intSize
End Property
Public Property Let AllowExtName(ByVal strExt)
sAllowExt = strExt
End Property
Private Sub Class_Initialize()
On Error Resume Next
Script_Object = "Scripting.FileSystemObject"
sUploadDir = "UploadFile/"
nAllowSize = 500
sAllowExt = "gif|jpg|png|bmp"
End Sub
Public Function ChangeRemote(sHTML)
On Error Resume Next
Dim s_Content
s_Content = sHTML
On Error Resume Next
Dim re, s, RemoteFileUrl, SaveFileName, SaveFileType
Set re = New RegExp
re.IgnoreCase = True
re.Global = True
re.Pattern = "((http|https|ftp|rtsp|mms):(//|){1}(([A-Za-z0-9_-])+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(S*/)((S)+[.]{1}(" & sAllowExt & ")))"
Set s = re.Execute(s_Content)
Dim a_RemoteUrl(), n, i, bRepeat
n = 0
' 转入无重复数据
For Each RemoteFileUrl In s
If n = 0 Then
n = n + 1
ReDim a_RemoteUrl(n)
a_RemoteUrl(n) = RemoteFileUrl
Else
bRepeat = False
For i = 1 To UBound(a_RemoteUrl)
If UCase(RemoteFileUrl) = UCase(a_RemoteUrl(i)) Then
bRepeat = True
Exit For
End If
Next
If bRepeat = False Then
n = n + 1
ReDim Preserve a_RemoteUrl(n)
a_RemoteUrl(n) = RemoteFileUrl
End If
End If
Next
' 开始替换操作
Dim nFileNum, sContentPath,strFilePath
sContentPath = RelativePath2RootPath(sUploadDir)
nFileNum = 0
For i = 1 To n
SaveFileType = Mid(a_RemoteUrl(i), InStrRev(a_RemoteUrl(i), ".") + 1)
SaveFileName = GetRndFileName(SaveFileType)
strFilePath = sUploadDir & SaveFileName
If SaveRemoteFile(strFilePath, a_RemoteUrl(i)) = True Then
nFileNum = nFileNum + 1
If nFileNum > 0 Then
sOriginalFileName = sOriginalFileName & "|"
sSaveFileName = sSaveFileName & "|"
sPathFileName = sPathFileName & "|"
End If
sOriginalFileName = sOriginalFileName & Mid(a_RemoteUrl(i), InStrRev(a_RemoteUrl(i), "/") + 1)
sSaveFileName = sSaveFileName & SaveFileName
sPathFileName = sPathFileName & sContentPath & SaveFileName
s_Content = Replace(s_Content, a_RemoteUrl(i), sContentPath & SaveFileName, 1, -1, 1)
End If
Next









