作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 08:45:29 阅读 我要评论

1、将下面的文本文件下载,并将.TXT改为remote.asp,里面有具体设置方法 复制代码 代码如下:<% '添加资源时是否保存远程图片 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 %> 2、调用方法: <!--#include file="remote.asp"--> 文章入库的地方改成下面的代码 复制代码 代码如下: If sSaveFileSelect=True Then Rs("Content")=ReplaceRemoteUrl(ArticleContent,sSaveFilePath,sFileExt) Else Rs("Content")=ArticleContent End If

  推荐阅读

  javascript asp教程错误处理

The ASPError Object has zero (0) Methods, nine (9) Properties, zero (0) Events, and zero (0) Collections. AspCode AspDescription Category Column Description File Line Number SourceThe wa>>>详细阅读


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

地址:http://www.17bianji.com/kaifa2/ASP/32696.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)