主页 > 知识库 > newasp中下载类

newasp中下载类

热门标签:服务器配置 电子围栏 Linux服务器 科大讯飞语音识别系统 团购网站 Mysql连接数设置 阿里云 银行业务
复制代码 代码如下:

%
'================================================
' 函数名: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
%>

标签:衡水 大理 萍乡 广元 蚌埠 衢州 枣庄 江苏

巨人网络通讯声明:本文标题《newasp中下载类》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 上一篇:ubbcode函数

    下一篇:newasp中main类

    收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266