newasp中下载类

代码如下:

<%
'================================================
' 函数名:SaveRemoteFile
' 作  用:保存远程文件到本地
' 参  数:strFileName ----保存文件的名称
'         strRemoteUrl ----远程文件URL
' 返回值:布尔值 True/False
'================================================
Function SaveRemoteFile(ByVal strFileName, ByVal strRemoteUrl)
    Dim oStream, Retrieval, GetRemoteData

SaveRemoteFile = False
    On Error Resume Next
    Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
    Retrieval.Open "GET", strRemoteUrl, False, "", ""
    Retrieval.Send
    If Retrieval.readyState <> 4 Then Exit Function
    If Retrieval.Status > 300 Then Exit Function
    GetRemoteData = Retrieval.ResponseBody
    Set Retrieval = Nothing

If LenB(GetRemoteData) > 100 Then
        Set oStream = Server.CreateObject("Adodb.Stream")
        oStream.Type = 1
        oStream.Mode = 3
        oStream.Open
        oStream.Write GetRemoteData
        oStream.SaveToFile Server.MapPath(strFileName), 2
        oStream.Cancel
        oStream.Close
        Set oStream = Nothing
    Else
        Exit Function
    End If

If Err.Number = 0 Then
        SaveRemoteFile = True
    Else
        Err.Clear
    End If
End Function
%>

代码如下:

<%
Class Download_Cls
    Private sUploadDir
    Private nAllowSize
    Private sAllowExt
    Private sOriginalFileName
    Private sSaveFileName
    Private sPathFileName

Public Property Get RemoteFileName()
        RemoteFileName = sOriginalFileName
    End Property

Public Property Get LocalFileName()
        LocalFileName = sSaveFileName
    End Property

Public Property Get LocalFilePath()
        LocalFilePath = sPathFileName
    End Property

Public Property Let RemoteDir(ByVal strDir)
        sUploadDir = strDir
    End Property

Public Property Let AllowMaxSize(ByVal intSize)
        nAllowSize = intSize
    End Property

Public Property Let AllowExtName(ByVal strExt)
        sAllowExt = strExt
    End Property

Private Sub Class_Initialize()
        On Error Resume Next
        Script_Object = "Scripting.FileSystemObject"
        sUploadDir = "UploadFile/"
        nAllowSize = 500
        sAllowExt = "gif|jpg|png|bmp"
    End Sub

Public Function ChangeRemote(sHTML)
        On Error Resume Next
        Dim s_Content
        s_Content = sHTML
        On Error Resume Next
        Dim re, s, RemoteFileUrl, SaveFileName, SaveFileType
        Set re = New RegExp
        re.IgnoreCase = True
        re.Global = True
        re.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\){1}(([A-Za-z0-9_-])+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*\/)((\S)+[.]{1}(" & sAllowExt & ")))"
        Set s = re.Execute(s_Content)
        Dim a_RemoteUrl(), n, i, bRepeat
        n = 0
        ' 转入无重复数据
        For Each RemoteFileUrl In s
            If n = 0 Then
                n = n + 1
                ReDim a_RemoteUrl(n)
                a_RemoteUrl(n) = RemoteFileUrl
            Else
                bRepeat = False
                For i = 1 To UBound(a_RemoteUrl)
                    If UCase(RemoteFileUrl) = UCase(a_RemoteUrl(i)) Then
                        bRepeat = True
                        Exit For
                    End If
                Next
                If bRepeat = False Then
                    n = n + 1
                    ReDim Preserve a_RemoteUrl(n)
                    a_RemoteUrl(n) = RemoteFileUrl
                End If
            End If
        Next
        ' 开始替换操作
        Dim nFileNum, sContentPath,strFilePath
        sContentPath = RelativePath2RootPath(sUploadDir)
        nFileNum = 0
        For i = 1 To n
            SaveFileType = Mid(a_RemoteUrl(i), InStrRev(a_RemoteUrl(i), ".") + 1)
            SaveFileName = GetRndFileName(SaveFileType)
            strFilePath = sUploadDir & SaveFileName
            If SaveRemoteFile(strFilePath, a_RemoteUrl(i)) = True Then
                nFileNum = nFileNum + 1
                If nFileNum > 0 Then
                    sOriginalFileName = sOriginalFileName & "|"
                    sSaveFileName = sSaveFileName & "|"
                    sPathFileName = sPathFileName & "|"
                End If
                sOriginalFileName = sOriginalFileName & Mid(a_RemoteUrl(i), InStrRev(a_RemoteUrl(i), "/") + 1)
                sSaveFileName = sSaveFileName & SaveFileName
                sPathFileName = sPathFileName & sContentPath & SaveFileName
                s_Content = Replace(s_Content, a_RemoteUrl(i), sContentPath & SaveFileName, 1, -1, 1)
            End If
        Next

ChangeRemote = s_Content
    End Function

Public Function RelativePath2RootPath(url)
'这个主要是实现../转换为实际路径
        Dim sTempUrl
        sTempUrl = url
        If Left(sTempUrl, 1) = "/" Then
            RelativePath2RootPath = sTempUrl
            Exit Function
        End If

Dim sWebEditorPath
        sWebEditorPath = Request.ServerVariables("SCRIPT_NAME")
        sWebEditorPath = Left(sWebEditorPath, InStrRev(sWebEditorPath, "/") - 1)
        Do While Left(sTempUrl, 3) = "../"
            sTempUrl = Mid(sTempUrl, 4)
            sWebEditorPath = Left(sWebEditorPath, InStrRev(sWebEditorPath, "/") - 1)
        Loop
        RelativePath2RootPath = sWebEditorPath & "/" & sTempUrl
    End Function

Public Function GetRndFileName(sExt)
        Dim sRnd
        Randomize
        sRnd = Int(900 * Rnd) + 100
        GetRndFileName = Year(Now) & Month(Now) & Day(Now) & Hour(Now) & Minute(Now) & Second(Now) & sRnd & "." & sExt
    End Function
End Class
%>

(0)

相关推荐

  • newasp中下载类

    复制代码 代码如下: <% '================================================ ' 函数名:SaveRemoteFile ' 作  用:保存远程文件到本地 ' 参  数:strFileName ----保存文件的名称 '         strRemoteUrl ----远程文件URL ' 返回值:布尔值 True/False '================================================ Function Sa

  • newasp中main类

    <% Const IsDeBug = 1 Class NewaspMain_Cls Public membername, memberpass, membergrade, membergroup, memberid     Public memberclass, menbernickname, Cookies_Name, CheckPassword Public SiteName, SiteUrl, MasterMail, keywords, Copyright     Public Insta

  • Java8中Optional类型和Kotlin中可空类型的使用对比

    本文主要给大家介绍了关于Java8中Optional类型和Kotlin中可空类型使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 在 Java 8中,我们可以使用 Optional 类型来表达可空的类型. package com.easy.kotlin; import java.util.Optional; import static java.lang.System.out; /** * Optional.ofNullable - 允许传递为 null 参数 *

  • php中adodbzip类实例

    本文实例讲述了php中adodbzip类程序代码.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php /**  * AdodbZip 1.1  *   * 代码示例:  * include_once 'AdodbZip.php';  * $db = AdodbZip::init(NewADOConnection('mysql教程t'));  * echo $db->GetOne('SELECT NOW()');  *   * 流程说明:  * 1. 如果$extract_dir

  • android中Handle类的用法实例分析

    本文实例讲述了android中Handle类的用法.分享给大家供大家参考.具体如下: 当我们在处理下载或是其他需要长时间执行的任务时,如果直接把处理函数放Activity的OnCreate或是OnStart中,会导致执行过程中整个Activity无响应,如果时间过长,程序还会挂掉.Handler就是把这些功能放到一个单独的线程里执行,与Activity互不影响. 当用户点击一个按钮时如果执行的是一个常耗时操作的话,处理不好会导致系统假死,用户体验很差,而Android则更进一步,如果任意一个Ac

  • php中Snoopy类用法实例

    本文实例讲述了php中Snoopy类用法.分享给大家供大家参考.具体分析如下: 这里演示了php中如何通过Snoopy抓取网页信息 snoopy类的下载地址:http://sourceforge.net/projects/snoopy/ /* You need the snoopy.class.php from http://snoopy.sourceforge.net/ */ include("snoopy.class.php"); $snoopy = new Snoopy; //

  • 代码分析c++中string类

    一:回顾 (1)c++中的string类是在面试中和笔试中经常考的题目: 工程代码免费下载 string类的自行实现 (2)c++中的string类和fstream类合起来是处理外部数据的利器: (3)string类经常用到find find_first_of find_first_not_of find_last_of find_last_not_of substr replace等,以及联合使用来达到java中的split和trim (4) 使用friend 仅仅是在类中进行声明的非内部 却

  • 一键清除maven仓库中下载失败的jar包的实现方法

    typora-copy-images-to: ./ 一键清除maven仓库中下载失败的jar包 maven是一款非常优秀的项目管理工具,特别是其对项目使用的依赖包的管理,我们只需在pom.xml文件中配置响应的依赖,其就可以帮助我们自动下载所需要的jar包 1.问题来源: 很多时候,maven工具帮我们下载jar包的时候,由于种种原因,或断电.或蓝屏.或工具抽风等等等等情况导致我们下载jar包失败,但此时工具已经在我们的maven仓库中创建了一个jar包文件夹了,但是这个jar包是不完整的,也就

  • 解决IDEA中下载free maven plugin插件无效的问题

    在IDEA中导入插件时成功 但是在实体类的方法接口中没有绿色的箭头(我现在是有的) 解决方案一:鼠标右键,选择最后一个Configure Gutter Lcons 查看里面的东西是否已经勾选上,如果已经勾选上还是没有效果请看方案二 解决方案二:请不要心慈手软彻底的删除idea,在安装idea软件,在进行下载free MyBatis plugin插件,应该八九不离十应该有效果了 总结 到此这篇关于解决IDEA中下载free maven plugin插件无效的问题的文章就介绍到这了,更多相关IDEA

  • 从Springboot项目中下载文件的具体过程

    最近在做一个临时的项目,APP端在检测到程序有更新时,需要去后台下载新的安装包.具体过程如下: controller层: /** * 下载app * @param response */ @RequestMapping("downApp") @ResponseBody public void Download(HttpServletResponse response) { String fileName ="wuye.apk"; String result = Fi

随机推荐