大文件的文件下载方法 【速度不错】

简介:

<%@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  
%>

分类:  Javascript

本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2007/12/04/982026.html,如需转载请自行联系原作者
相关文章
|
10月前
|
前端开发
前端:下载文件(多种方法)
前端:下载文件(多种方法)
785 0
|
7月前
下载文件 | 下载流文件的处理方式
当下载文件时,返回为流的形式,所以在请求的时候设置 responseType:’arraybuffer’ 或者设置为 responseType: ‘blob’ 的时候,只有当接口返回正确的时候才会下载文件,返回错误的时候,应该是提示用户出错了,但是使用 arraybuffer 或者 blob 的时候,错误的信息也是返回这个形式的。所以需要转换一下。
|
9月前
|
编解码 Java 应用服务中间件
文件的上传和下载
文件的上传和下载
69 0
|
前端开发 网络协议 API
大文件处理(上传,下载)思考
在计算文件hash的方式,主要有以下几种: 分片全量计算hash、抽样计算hash。在这两种方式上,分别又可以使用web-work和浏览器空闲(requestIdleCallback)来实现.
大文件处理(上传,下载)思考
文件下载
文件下载
57 0
|
缓存 Java
sevlet实现下载文件功能
希望做一个小板块,实现文件的上传和下载,那么上传实现了,就需要实现下载,阅读了各位的博客总结了一下。在网页中通过超链接是可以访问我的资源的,浏览器不可访问的资源他就会下载到本地,像一些浏览器可以直接访问的如图片,txt文件浏览器会直接打开。这就需要我们在sevlet中统一处理文件下载。
109 0
sevlet实现下载文件功能
|
前端开发
文件下载的几种方式
文件下载的几种方式
|
前端开发 应用服务中间件 nginx
常用前端文件下载方法
经常在项目中会遇到需要下载文件的需求,根据不同的需求和项目实现情况,通常有以下几种做法。
常用前端文件下载方法
|
数据安全/隐私保护
命令行方式调用winrar对文件夹进行zip压缩示例代码
调用winRAR进行压缩 [csharp] view plain copy   using System;   using System.Collections.Generic;   using System.
2445 0