天天看點

大檔案的檔案下載下傳方法 【速度不錯】

<%@language=VBscript%>   

<%   

Const ForReading=1   

Const TristateTrue=-1   

Const FILE_TRANSFER_SIZE=16384   

Response.Buffer = True   

Dim path, mimeType, sucess,downfilename  

mimeType="text/plain"

downfilename="files\t.rmvb"   

path = Server.MapPath(downfilename)   

sucess = TransferFile(path,mimeType,downfilename)   

Response.End  

Function TransferFile(path, mimeType, filename)  

    On error resume next 

    Dim objFileSystem, objFile, objStream   

    Dim char   

    Dim sent   

    send=0   

    TransferFile = True   

    Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")   

    Set objFile = objFileSystem.GetFile(Path)  

    If Err Then

       Response.write "下載下傳檔案錯誤,請與管理者聯系."

       Response.End 

    End If 

    '産生随機名字

    TempFileName = Split(path,"\")(Ubound(Split(path,"\")))

    Set objStream = objFile.OpenAsTextStream(ForReading, TristateTrue)   

    Response.AddHeader "content-type", mimeType   

    response.AddHeader "Content-Disposition","attachment;filename=" & TempFileName  

    Response.AddHeader "content-length", objFile.Size   

    Do While Not objStream.AtEndOfStream   

        char = objStream.Read(1)   

        Response.BinaryWrite(char)   

        sent = sent + 1   

        If (sent MOD FILE_TRANSFER_SIZE) = 0 Then   

          Response.Flush   

          If Not Response.IsClientConnected Then   

          TransferFile = False   

          Exit Do   

          End If   

        End If   

    Loop   

    Response.Flush   

    If Not Response.IsClientConnected Then TransferFile = False   

    objStream.Close   

    Set objStream = Nothing   

    Set objFileSystem = Nothing   

End Function  

%>

本文轉自快樂就好部落格園部落格,原文連結:http://www.cnblogs.com/happyday56/archive/2007/12/04/982026.html,如需轉載請自行聯系原作者

繼續閱讀