if createdir(localaddr) = false then response.Write "创建目录失败,请检查目录权限" response.End end if response.Write Convert2LocalAddr(url,localaddr,localdir)
function Convert2LocalAddr(url,localaddr,localdir) '参数说明 'url 页面地址 'localaddr 保存本地的物理地址 'localdir 相对路径 strContent = getHTTPPage(url) Set objRegExp = New Regexp objRegExp.IgnoreCase = True objRegExp.Global = True objRegExp.Pattern = "<img.+?>" Set Matches =objRegExp.Execute(strContent) For Each Match in Matches RetStr = RetStr & GetRemoteImages(Match.value) Next ImagesArray=split(RetStr,"") RemoteImage="" LocalImage="" for i=1 to ubound(ImagesArray) if ImagesArray(i)<>"" and instr(RemoteImage,ImagesArray(i))<1 then fname=baseurl&cstr(i&mid(ImagesArray(i),instrrev(ImagesArray(i),"."))) ImagesFileName = ImagesArray(i) AllowFileExtArray = split(AllowFileExt,"") isGetFile = false for tmp = 0 to ubound(AllowFileExtArray) if lcase(GetFileExt(ImagesFileName)) = ALlowFileExtArray(tmp) then isGetFile=True end if next if isGetFile = true then newfilename = GenerateRandomFileName(fname) call Save2Local(ImagesFileName,localaddr & "/" & newfilename) RemoteImage=RemoteImage&""& ImagesFileName LocalImage=LocalImage&"" & localdir & newfilename end if end if next arrnew=split(LocalImage,"") arrall=split(RemoteImage,"") for i=1 to ubound(arrnew) strContent=replace(strContent,arrall(i),arrnew(i)) next Convert2LocalAddr = strContent end function
function GetRemoteImages(str) Set objRegExp1 = New Regexp objRegExp1.IgnoreCase = True objRegExp1.Global = True objRegExp1.Pattern = "http://.+? ;" set mm=objRegExp1.Execute(str)