• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ReplaceSaveRemoteFile 替换、保存远程图片 的代码
    '==================================================
    '函数名:ReplaceSaveRemoteFile
    '作  用:替换、保存远程图片
    '参  数:ConStr ------ 要替换的字符串
    '参  数:SaveTf ------ 是否保存文件,False不保存,True保存
    '参  数: TistUrl------ 当前网页地址
    '==================================================
    Function ReplaceSaveRemoteFile(ConStr,strInstallDir,strChannelDir,SaveTf,TistUrl)
       If ConStr="$False$" or ConStr="" or strChannelDir="" Then
          ReplaceSaveRemoteFile=ConStr
          Exit Function
       End If
       Dim TempStr,TempStr2,TempStr3,Re,Matches,Match,Tempi,TempArray,TempArray2

       Set Re = New Regexp 
       Re.IgnoreCase = True 
       Re.Global = True
       Re.Pattern ="img.+?[^\&;]>"
       Set Matches =Re.Execute(ConStr) 
       For Each Match in Matches
          If TempStr>"" then 
             TempStr=TempStr  "$Array$"  Match.Value
          Else
             TempStr=Match.Value
          End if
       Next
       If TempStr>"" Then
          TempArray=Split(TempStr,"$Array$")
          TempStr=""
          For Tempi=0 To Ubound(TempArray)
             Re.Pattern ="src\s*=\s*.+?\.(gif|jpg|bmp|jpeg|psd|png|svg|dxf|wmf|tiff)"
             Set Matches =Re.Execute(TempArray(Tempi)) 
             For Each Match in Matches
                If TempStr>"" then 
                   TempStr=TempStr  "$Array$"  Match.Value
                Else
                   TempStr=Match.Value
                End if
             Next
          Next
       End if
       If TempStr>"" Then
             IncludePic=1'图片新闻
          Re.Pattern ="src\s*=\s*"
          TempStr=Re.Replace(TempStr,"")
       End If
       Set Matches=nothing
       Set Re=nothing
       If TempStr="" or IsNull(TempStr)=True Then
          ReplaceSaveRemoteFile=ConStr
          Exit function
       End if
       TempStr=Replace(TempStr,"""","")
       TempStr=Replace(TempStr,"'","")
       TempStr=Replace(TempStr," ","")

       Dim RemoteFileurl,SavePath,PathTemp,DtNow,strFileName,strFileType,ArrSaveFileName,RanNum,Arr_Path
       DtNow=Now()
       If SaveTf=True then
     '***********************************
          SavePath= strChannelDir  year(DtNow)  right("0"  month(DtNow),2)  "/"
          response.write "链接路径:"  savepath  "br>"
          Arr_Path=Split(SavePath,"/")
          PathTemp=""
          For Tempi=0 To Ubound(Arr_Path)
             If Tempi=0 Then
                PathTemp=Arr_Path(0)  "/"
             ElseIf Tempi=Ubound(Arr_Path) Then
                Exit For
             Else
                PathTemp=PathTemp  Arr_Path(Tempi)  "/"
             End If
             If CheckDir(PathTemp)=False Then
                If MakeNewsDir(PathTemp)=False Then
                   SaveTf=False
                   Exit For
                End If
             End If
          Next
       End If

       '去掉重复图片开始
       TempArray=Split(TempStr,"$Array$")
       TempStr=""
       For Tempi=0 To Ubound(TempArray)
          If Instr(Lcase(TempStr),Lcase(TempArray(Tempi)))1 Then
             TempStr=TempStr  "$Array$"  TempArray(Tempi)
          End If
       Next
       TempStr=Right(TempStr,Len(TempStr)-7)
       TempArray=Split(TempStr,"$Array$")
       '去掉重复图片结束

       '转换相对图片地址开始
       TempStr=""
       For Tempi=0 To Ubound(TempArray)
          TempStr=TempStr  "$Array$"  DefiniteUrl(TempArray(Tempi),TistUrl)
       Next
       TempStr=Right(TempStr,Len(TempStr)-7)
       TempStr=Replace(TempStr,Chr(0),"")
       TempArray2=Split(TempStr,"$Array$")
       TempStr=""
       '转换相对图片地址结束
        '图片替换/保存
       Set Re = New Regexp
       Re.IgnoreCase = True 
       Re.Global = True
       For Tempi=0 To Ubound(TempArray2)
          RemoteFileUrl=TempArray2(Tempi)
          If RemoteFileUrl>"$False$" And SaveTf=True Then'保存图片
             ArrSaveFileName = Split(RemoteFileurl,".")
         strFileType=Lcase(ArrSaveFileName(Ubound(ArrSaveFileName)))'文件类型
             If strFileType="asp" or strFileType="asa" or strFileType="aspx" or strFileType="cer" or strFileType="cdx" or strFileType="exe" or strFileType="rar" or strFileType="zip" then
                UploadFiles=""
                ReplaceSaveRemoteFile=ConStr
                Exit Function
             End If

             Randomize
             RanNum=Int(900*Rnd)+100
         strFileName = year(DtNow)  right("0"  month(DtNow),2)  right("0"  day(DtNow),2)  right("0"  hour(DtNow),2)  right("0"  minute(DtNow),2)  right("0"  second(DtNow),2)  ranNum  "."  strFileType
             Re.Pattern =TempArray(Tempi)

         If SaveRemoteFile(SavePath  strFileName,RemoteFileUrl)=True Then
    '********************************
                PathTemp=SavePath  strFileName 
                ConStr=Re.Replace(ConStr,PathTemp)
                Re.Pattern=strInstallDir  strChannelDir 
                UploadFiles=UploadFiles  "|"  Re.Replace(SavePath strFileName,"")
                Response.Flush()
                response.write " nbsp;nbsp;nbsp;图片保存地址:"  PathTemp  "br>"
                if Thumb_WaterMark=1 then call SKThumb.AddWaterMark(PathTemp)'水印
             Else
                PathTemp=RemoteFileUrl
                ConStr=Re.Replace(ConStr,PathTemp)
                'UploadFiles=UploadFiles  "|"  RemoteFileUrl
             End If
          ElseIf RemoteFileurl>"$False$" and SaveTf=False Then'不保存图片
             Re.Pattern =TempArray(Tempi)
             ConStr=Re.Replace(ConStr,RemoteFileUrl)
             UploadFiles=UploadFiles  "|"  RemoteFileUrl
          End If
       Next   
       Set Re=nothing
       If UploadFiles>"" Then
          UploadFiles=Right(UploadFiles,Len(UploadFiles)-1)
       End If
       ReplaceSaveRemoteFile=ConStr
    End function
    您可能感兴趣的文章:
    • 用php获取远程图片并把它保存到本地的代码
    • php 远程图片保存到本地的函数类
    • ASP保存远程图片到本地 同时取得第一张图片并创建缩略图的代码
    • php下保存远程图片到本地的办法
    上一篇:DefiniteUrl asp将相对地址转换为绝对地址的代码
    下一篇:ReSaveRemoteFile函数之asp实现查找文件保存替换的代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ReplaceSaveRemoteFile 替换、保存远程图片 的代码 ReplaceSaveRemoteFile,替换,保存,