国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

asp中自定義文件下載

2019-11-18 17:02:10
字體:
供稿:網(wǎng)友

可以用流下載(耗內(nèi)存,少用)或直接轉(zhuǎn)到該文件.


<%

Const USE_STREAM = 0 '0.不用流(Adodb.Stream)下載 1.用流下載
Const ALLOW_FILE_EXT = "rar,z

Dim sDownFilePath '下載文件路徑
sDownFilePath = Trim(Request("FilePath"))
'或者根據(jù)傳過來的文件ID從
數(shù)據(jù)庫中獲取文件路徑

'如果 sDownFilePath 為絕對路徑,一定要將 sDownFilePath 轉(zhuǎn)換為相對 本文件的相對路徑

'sDownFilePath = "focus.swf"

Call DownloadFile(sDownFilePath)

Function DownloadFile(s_DownFilePath)
    '判斷有沒傳遞文件名
    If IsNull(s_DownFilePath) = True Or Trim(s_DownFilePath) = "" Then
        OutputErr "錯(cuò)誤:先確定要下載的文件,下載失敗"
    End If

    '判斷擴(kuò)展名是否合法
    Dim s_FileExt
    s_FileExt = Mid(s_DownFilePath, InstrRev(s_DownFilePath, ".")+1)
    If InStr("," & ALLOW_FILE_EXT & ",", "," & s_FileExt & ",") <= 0 Then
        OutputErr "錯(cuò)誤:文件類型(" & s_FileExt & ")不允許被下載,下載失敗"
    End If
   
    s_DownFilePath = Replace(s_DownFilePath, "/", "/")

    '為了安全,某些目錄禁止下載文件,在這里處理
    '
   
    '檢測服務(wù)器是否支持fso
    Dim o_Fso
    On Error Resume Next
    Set o_Fso = Server.CreateObject("Scripting.FileSystemObject")
    If Err.Number <> 0 Then
        Err.Clear
        OutputErr "錯(cuò)誤:服務(wù)器不支持fso組件,下載失敗"
    End If

    '取得文件名,文件大小
    Dim s_FileMapPath
    Dim o_File, s_FileName, n_FileLength
    s_FileMapPath = Server.MapPath(s_DownFilePath)
    If (o_Fso.FileExists(s_FileMapPath)) = True Then
        Set o_File = o_Fso.GetFile(s_FileMapPath)
        s_FileName = o_File.Name
        n_FileLength = o_File.Size
        o_File.Close
    Else
        OutputErr "錯(cuò)誤:文件不存在,下載失敗"
    End If
    Set o_Fso = Nothing

    '判斷是否下載的文件大小超過限制
    '   
   
    '如果不是用流下載,直接轉(zhuǎn)到該文件
    If USE_STREAM = 0 Then
        Response.Redirect sDownFilePath
        Response.end
    End If

    '檢測服務(wù)器是否支持Adodb.Stream
    On Error Resume Next
    Set o_Stream = Server.CreateObject("Adodb.Stream")
    If Err.Number <> 0 Then
        Err.Clear
        OutputErr "錯(cuò)誤:服務(wù)器不支持Adodb.Stream組件,下載失敗"
    End If

    o_Stream.Tyep = 1
    o_Stream.Open
    o_Stream.LoadFromFile s_FileMapPath

    Response.Buffer = True
    Response.Clear
    Response.AddHeader "Content-Disposition", "attachment; filename=" & s_FileName
    Response.AddHeader "Content-Length", n_FileLength
    Response.CharSet = "UTF-8"
    Response.ContentType = "application/octet-stream"
    Response.BinaryWrite o_Stream.Read
    Response.Flush

    o_Stream.Close
    Set o_Stream = Nothing

End Function

Sub OutputErr(s_ErrMsg)
    Response.Write "<font color=red>" & s_ErrMsg & "</font>"
    Response.End
End Sub

%>

http://m.survivalescaperooms.com/jiny-z/archive/2006/08/29/489102.html


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 石棉县| 鞍山市| 兴国县| 习水县| 宜宾县| 大洼县| 赫章县| 大同县| 临洮县| 定西市| 庆阳市| 新安县| 左云县| 黄浦区| 霍林郭勒市| 醴陵市| 沈丘县| 新晃| 阿坝县| 丰顺县| 辽阳市| 云南省| 浙江省| 揭阳市| 老河口市| 益阳市| 泗水县| 安化县| 博兴县| 兰西县| 新巴尔虎左旗| 湘西| 南丰县| 南安市| 新闻| 金沙县| 东辽县| 信丰县| 马关县| 乐山市| 昌都县|