源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

asp下实现替换远程文件为本地文件并保存远程文件的代码

  • 时间:2021-10-28 09:11 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp下实现替换远程文件为本地文件并保存远程文件的代码
[b]1、将下面的文本文件下载,并将.TXT改为remote.asp,里面有具体设置方法[/b]
[u]复制代码[/u] 代码如下:
<%  '添加资源时是否保存远程图片 Const sSaveFileSelect=True '远程图片保存目录,结尾请不要加“/” Const sSaveFilePath="/images/News" '远程图片保存类型 Const sFileExt="jpg|gif|bmp|png" '///////////////////////////////////////////////////// '作 用:替换字符串中的远程文件为本地文件并保存远程文件 '参 数: '     sHTML        : 要替换的字符串 '     sSavePath    : 保存文件的路径 '     sExt         : 执行替换的扩展名 Function ReplaceRemoteUrl(sHTML, sSaveFilePath, sFileExt)     Dim s_Content     s_Content = sHTML     If IsObjInstalled("Microsoft.XMLHTTP") = False then         ReplaceRemoteUrl = s_Content         Exit Function     End If     Dim re, RemoteFile, RemoteFileurl,SaveFileName,SaveFileType,arrSaveFileNameS,arrSaveFileName,sSaveFilePaths     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}(" & sFileExt & ")))"     Set RemoteFile = re.Execute(s_Content)     For Each RemoteFileurl in RemoteFile         SaveFileType = Replace(Replace(RemoteFileurl,"/", "a"), ":", "a")         arrSaveFileName = Right(SaveFileType,12)         sSaveFilePaths=sSaveFilePath & "/"         SaveFileName = sSaveFilePaths & arrSaveFileName         Call SaveRemoteFile(SaveFileName, RemoteFileurl)         s_Content = Replace(s_Content,RemoteFileurl,SaveFileName)     Next     ReplaceRemoteUrl = s_Content End Function '//////////////////////////////////////// '作 用:保存远程的文件到本地 '参 数:LocalFileName ------ 本地文件名 '       RemoteFileUrl ------ 远程文件URL '返回值:True ----成功 '        False ----失败 Sub SaveRemoteFile(s_LocalFileName,s_RemoteFileUrl)     Dim Ads, Retrieval, GetRemoteData     On Error Resume Next     Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")     With Retrieval         .Open "Get", s_RemoteFileUrl, False, "", ""         .Send         GetRemoteData = .ResponseBody     End With     Set Retrieval = Nothing     Set Ads = Server.CreateObject("Adodb.Stream")     With Ads         .Type = 1         .Open         .Write GetRemoteData         .SaveToFile Server.MapPath(s_LocalFileName), 2         .Cancel()         .Close()     End With     Set Ads=nothing End Sub '//////////////////////////////////////// '作 用:检查组件是否已经安装 '参 数:strClassString ----组件名 '返回值:True ----已经安装 '     False ----没有安装 Function IsObjInstalled(s_ClassString)     On Error Resume Next     IsObjInstalled = False     Err = 0     Dim xTestObj     Set xTestObj = Server.CreateObject(s_ClassString)     If 0 = Err Then IsObjInstalled = True     Set xTestObj = Nothing     Err = 0 End Function %>
[b]2、调用方法: [/b]<!--#include file="remote.asp"-->  文章入库的地方改成下面的代码 
[u]复制代码[/u] 代码如下:
If sSaveFileSelect=True Then        Rs("Content")=ReplaceRemoteUrl(ArticleContent,sSaveFilePath,sFileExt)       Else        Rs("Content")=ArticleContent   End If 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部