asp的一个下载功能页面,就是把文件直接传给客户端的方式
2005-12-22 13:40
537 查看
<%
filepath=request.querystring("filepath")
filenames=Split(filepath,"/")
filename=filenames(1)
Const ForReading=1
Const TristateTrue=-1 'Unicode
Const FILE_TRANSFER_SIZE=16384 '16k
'Use the following line for IIS4/PWS - this is the default for IIS5
Response.Buffer = True
Function TransferFile(path, mimeType, filename)
Dim objFileSystem, objFile, objStream
Dim char
Dim sent
send=0
TransferFile = True
Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFileSystem.GetFile(Path)
Set objStream = objFile.OpenAsTextStream(ForReading, TristateTrue)
Response.AddHeader "content-type", mineType
Response.ContentType = "application/octet-stream"
response.AddHeader "Content-Disposition","attachment;filename="&filename
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
Dim path, mimeType, sucess
path = Server.MapPath(filepath)
mimeType = "application/octet-stream"
sucess = TransferFile(path, mimeType,filename)
Response.End
%>
filepath=request.querystring("filepath")
filenames=Split(filepath,"/")
filename=filenames(1)
Const ForReading=1
Const TristateTrue=-1 'Unicode
Const FILE_TRANSFER_SIZE=16384 '16k
'Use the following line for IIS4/PWS - this is the default for IIS5
Response.Buffer = True
Function TransferFile(path, mimeType, filename)
Dim objFileSystem, objFile, objStream
Dim char
Dim sent
send=0
TransferFile = True
Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFileSystem.GetFile(Path)
Set objStream = objFile.OpenAsTextStream(ForReading, TristateTrue)
Response.AddHeader "content-type", mineType
Response.ContentType = "application/octet-stream"
response.AddHeader "Content-Disposition","attachment;filename="&filename
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
Dim path, mimeType, sucess
path = Server.MapPath(filepath)
mimeType = "application/octet-stream"
sucess = TransferFile(path, mimeType,filename)
Response.End
%>
相关文章推荐
- ASP.NET直接下载一个文件和打开一个文件
- ASP.NET直接下载一个文件,而不是在IE中打开它
- ASP.NET直接下载一个文件,而不是在IE中打开它
- ASP.NET直接下载一个文件,而不是在IE中打开它
- ASP.NET文件下载,直接向客户端输出文件
- asp.net页面中文件下载的2种方式
- ASP.NET直接下载一个文件
- ASP.NET直接下载一个文件,而不是在IE中打开它
- ASP.NET直接下载一个文件,而不是在IE中打开它
- asp.net生成csv文件,并在客户端点击下载(文件流直接输出到客户端而不是先生成保存在服务端再下载)
- ASP.NET直接下载一个文件,而不是在IE中打开它
- 解决把水晶报表下载到客户端过程中,出现下载整个页面(.aspx)或者直接载web页中打开word文件的问题!
- ASP.NET直接下载一个文件,而不是在IE中打开它
- asp.net直接下载一个文件和直接打开一个文件
- ASP.NET文件下载,直接向客户端输出文件(转)
- asp.net mvc导出excel文件先保存到服务器某个目录,然后再导出到客户端供客户下载功能的实现
- Asp.net直接保存(下载)文件到客户端
- Fiddler快速入门(还有一个功能就是不经过网络,直接模拟一个响应返回给客户端)
- ASP.NET直接下载一个文件,而不是在IE中打开它
- ASP.NET直接下载一个文件,而不是在IE中打开它