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

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

(0)

相关推荐

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

    1.将下面的文本文件下载,并将.TXT改为remote.asp,里面有具体设置方法 复制代码 代码如下: <%  '添加资源时是否保存远程图片 Const sSaveFileSelect=True '远程图片保存目录,结尾请不要加"/" Const sSaveFilePath="/images/News" '远程图片保存类型 Const sFileExt="jpg|gif|bmp|png" '////////////////////////

  • 通过JavaScript下载文件到本地的方法(单文件)

    最近在做一个文件下载的功能,这里把做的过程中用的技术和坑简要总结下. 1. 单文件下载(a标签) 同源单文件 针对单文件的情况下,同源的文件,可以通过 < a> 标签的 download 属性下载文件 const elt = document.createElement('a'); elt.setAttribute('href', url); elt.setAttribute('download', 'file.png'); elt.style.display = 'none'; docume

  • Android保存的文件显示到文件管理的最近文件和下载列表中的方法

    发现Android开发每搞一个和系统扯上关系的功能都要磨死人,对新手真不友好.运气不好难以快速精准的找到有效的资料

  • SaveRemoteFile函数之asp实现保存远程的文件到本地的代码

    '================================================== '过程名:SaveRemoteFile '作  用:保存远程的文件到本地 '参  数:LocalFileName ------ 本地文件名 '参  数:RemoteFileUrl ------ 远程文件URL '================================================== Function SaveRemoteFile(LocalFileName,Rem

  • ASP保存远程图片到本地 同时取得第一张图片并创建缩略图的代码

    采集中 或者 在线添加文章中 都可以用到此功能 俺自己在baidu上搜索的保存远程图片到本地的代码 感觉比较难用点 而且没有现成的比较全的代码 俺也看不懂 俺从 SNA新闻采集系统 For 3.62 (程序制作:ansir)里提取了点函数 用下 比较简单好用 以下是函数 程序代码  复制代码 代码如下: <% '================================================== '函数名:CheckDir2 '作 用:检查文件夹是否存在 '参 数:FolderP

  • ASP替换、保存远程图片实现代码

    ASP通过函数来实现替换.保存远程图片,完成自动采集图片.提取图片的功能,函数中自动判断重复图片,智能分析链接路径,并转成成相对的图片地址保存在你指定的网站目录中,我们可将此函数用在后台的编辑器中,当你复制了含有图片的内容后,本代码会自动帮你上传图片.同时本代码也是采集程序中的重要处理函数,函数代码如下: Function ReplaceSaveRemoteFile(ConStr,strInstallDir,strChannelDir,SaveTf,TistUrl) If ConStr="$Fa

  • php 根据URL下载远程图片、压缩包、pdf等文件到本地

    1.此方法可以下载图片.压缩包.pdf(亲测),应该所有类型的文件都可以下载到本地,可以试一下 //远程路径,名称,文件后缀 function downImgRar($url,$rename,$ext){ switch ($ext) { case 'jpg': //下载图片 $file_path = 'uploads/images/'; break; case 'png': //下载图片 $file_path = 'uploads/images/'; break; case 'pdf': //下

  • PHP实现的一个保存远程文件到本地的函数分享

    最近遇到了PHP远程图片本地话的问题,查了查手册发现file_get_contents()和file_put_contents()可以解决这个问题.思路很简单,将远程文件读入字符串中,然后按照规则写入指定目录,经测试此法可采集图片.文本.音频文件等,只要你可以想办法得到它们的地址. 先上代码: 复制代码 代码如下: /**  * 保存文件到本地  * @param 文件路径 $url  * @param 保存本地路径 $savePath  * @return string  */ functio

  • PHP下载远程文件到本地存储的方法

    本文实例讲述了PHP下载远程文件到本地存储的方法.分享给大家供大家参考.具体实现方法如下: <?php function GrabImage($url,$filename="") { if($url=="") return false; if($filename=="") { $ext=strrchr($url,"."); if($ext!=".gif" && $ext!="

  • 使用asp下的adodb.stream 下载文件而不是打开

    在浏览器的地址栏里直接输入一个doc或xls或jpg的文件的url路径,那么该文件会直接显示在浏览器里.而在很多时候我们希望能直接弹出下载提示框让用户下载,我们该怎么办呢?这里有两种方法:  1.设置你的服务器的iis,给doc等后缀名做映射. 2.在向客户端发送时设置其contenttype.  下面详细说明方法2  程序代码:  复制代码 代码如下: <% Response.Buffer = true Response.Clear dim url Dim fso,fl,flsize dim 

随机推荐