asp的一个下载功能页面,就是把文件直接传给客户端的方式

简介:
img_a6339ee3e57d1d52bc7d02b338e15a60.gif < %
img_a6339ee3e57d1d52bc7d02b338e15a60.giffilepath
= request.querystring( " filepath " )
img_a6339ee3e57d1d52bc7d02b338e15a60.giffilenames
= Split (filepath, " / " )
img_a6339ee3e57d1d52bc7d02b338e15a60.giffilename
= filenames( 1 )
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Const  ForReading = 1
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Const  TristateTrue =- 1   ' Unicode
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Const  FILE_TRANSFER_SIZE = 16384   ' 16k
img_a6339ee3e57d1d52bc7d02b338e15a60.gif'
Use the following line for IIS4/PWS - this is the default for IIS5
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Response.Buffer  =   True
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Function  TransferFile(path, mimeType, filename)
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Dim  objFileSystem, objFile, objStream
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Dim  char
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Dim  sent
img_a6339ee3e57d1d52bc7d02b338e15a60.gifsend
= 0
img_a6339ee3e57d1d52bc7d02b338e15a60.gifTransferFile 
=   True
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Set  objFileSystem  =  Server.CreateObject( " Scripting.FileSystemObject " )
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Set  objFile  =  objFileSystem.GetFile(Path)
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Set  objStream  =  objFile.OpenAsTextStream(ForReading, TristateTrue)
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gifResponse.AddHeader 
" content-type " , mineType
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gifResponse.ContentType 
=   " application/octet-stream "
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gifresponse.AddHeader 
" Content-Disposition " , " attachment;filename= " & filename 
img_a6339ee3e57d1d52bc7d02b338e15a60.gifResponse.AddHeader 
" content-length " , objFile.Size
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Do   While   Not  objStream.AtEndOfStream
img_a6339ee3e57d1d52bc7d02b338e15a60.gifchar 
=  objStream.Read( 1 )
img_a6339ee3e57d1d52bc7d02b338e15a60.gifResponse.BinaryWrite(char)
img_a6339ee3e57d1d52bc7d02b338e15a60.gifsent 
=  sent  +   1
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
If  (sent  MOD  FILE_TRANSFER_SIZE)  =   0   Then
img_a6339ee3e57d1d52bc7d02b338e15a60.gifResponse.Flush
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
If   Not  Response.IsClientConnected  Then
img_a6339ee3e57d1d52bc7d02b338e15a60.gifTransferFile 
=   False
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Exit   Do
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
End   If
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
End   If
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Loop
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gifResponse.Flush
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
If   Not  Response.IsClientConnected  Then  TransferFile  =   False
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gifobjStream.Close
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Set  objStream  =   Nothing
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Set  objFileSystem  =   Nothing
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
End Function
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
Dim  path, mimeType, sucess
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gifpath 
=  Server.MapPath(filepath)
img_a6339ee3e57d1d52bc7d02b338e15a60.gifmimeType 
=   " application/octet-stream "  
img_a6339ee3e57d1d52bc7d02b338e15a60.gifsucess 
=  TransferFile(path, mimeType,filename)
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gifResponse.End
img_a6339ee3e57d1d52bc7d02b338e15a60.gif%
>
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
相关文章
|
7月前
|
SQL 开发框架 安全
分享111个ASP上传下载源码,总有一款适合您
分享111个ASP上传下载源码,总有一款适合您
156 0
|
4月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
51 5
|
27天前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
38 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
2月前
|
存储 开发框架 .NET
Windows IIS中asp的global.asa全局配置文件使用说明
Windows IIS中asp的global.asa全局配置文件使用说明
44 1
|
开发框架 前端开发 .NET
asp.net 文件分片上传
asp.net 文件分片上传
171 0
asp.net 文件分片上传
|
开发框架 前端开发 JavaScript
ASP.NET Core MVC 从入门到精通之wwwroot和客户端库
ASP.NET Core MVC 从入门到精通之wwwroot和客户端库
268 0
|
开发框架 数据可视化 前端开发
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
595 0
|
开发框架 前端开发 JavaScript
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件
|
开发框架 JavaScript 前端开发
ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
572 0
ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
|
开发框架 .NET Windows
真正解决ASP.NET每一个页面首次访问超级慢的问题
真正解决ASP.NET每一个页面首次访问超级慢的问题
294 0