- '==================================================
- '函数名: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 " 图片保存地址:" & 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
ReplaceSaveRemoteFile 替换、保存远程图片 的代码
2019-10-09 14:24asp代码网 ASP教程
ReplaceSaveRemoteFile 替换、保存远程图片 的代码
延伸 · 阅读
- 2022-03-10python保存两位小数的多种方法汇总
- 2022-03-07如何替换@PathVariable中的变量
- 2022-02-28致美发型设计为什么搜不到?致美发型设计怎么
- 2022-02-20Java实现获取小程序带参二维码并保存到本地
- 2022-02-17C#抓取网络图片保存到本地的实现方法
- 2022-02-15C# 创建EXCEL图表并保存为图片的实例
- ASP教程
一份ASP内存的释放的实验报告
实验目的:验证主动释放内存变量是否有价值. 实验原始代码: script language=vbscript runat=server Dim temp1,temp2 temp1 = space(1024*1024*50) 50MB for i = 0 to 5000000 延迟 next t...
- ASP教程
asp中通过fso读取和生成UTF-8编码的txt
利用fso.OpenTextFil读取UTF-8文件或者用FSO.save生成UTF-8文件时乱码解决办法生成静态页使用的方法是读取asp页面的html代码,保存为html文件,这种方法...
- ASP教程
asp实现后台添加wma视频文件前台显示
想用asp来实现后台添加wma视频文件,前台显示所添加的这个视频文件,本文提供实现代码...
- ASP教程
NAV导致IIS调用FSO失败的解决方法
症状: 当你浏览调用FileSystemObject的ASP页面时, 对页面的请求处于停止状态并最终导致页面在浏览器中的超时。 原因: 这种问题是因为 Norton Antivirus 软件...
- ASP教程
一种理论上最快的Web数据库分页方法
出了一种理论上最佳的分页方法,本篇我们就来详细说说这种最佳的分页方法。 一:构思。 在设计Web数据库时,如果我们要编历每一条纪录,那么只有采取...
- ASP教程
ASP所有的Session变量获取实现代码
在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Collection),我们可以通过For...Each循环来...
- ASP教程
ASP.NET 简介
本节对 ASP.NET 进行概括,介绍了 ASP.NET 的服务器技术、开发工具以及文件扩展名。 经典 ASP Active Server Pages(动态服务器页面) ASP ,全称 Active Server Pages(...
- ASP教程
asp 中文乱码问题解决方法
不管什么语言乱码问题都存在,asp也不例外,本文将介绍asp中解决乱码方法,需要的朋友可以参考下...