请问asp中如何下载文件?
我的代码:
<%
Const ForReading=1
Const TristateTrue=-1
Const FILE_TRANSFER_SIZE=16384
Function downloadFile(Path,MimeType,Filename)
Dim TempFilePath
sent = 0
downloadFile = True
set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
set objFile = objFileSystem.GetFile(Path)
set objStream = objFile.OpenAsTextStream(ForReading,TristateTrue)
Response.AddHeader "Content-Disposition","attachment;filename=" & Filename
Response.AddHeader "content-length",objFile.Size
Response.CharSet = "UTF-8"
Response.ContentType = "application/octet-stream"
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
downloadFile = False
Exit Do
End if
End if
Loop
Response.Flush
if Not Response.IsClientConnected Then TransferFile = False
objFile.Close
set objFile = Nothing
objStream.Close
set objStream = Nothing
set objFileSystem = Nothing
End Function
on error resume next
strPath = "E:\test.xls"
MimeType = "application/octet-stream"
strFileName = "test.xls"
sucess = downloadFile(strPath,MimeType,strFileName)
Response.End
%>
可是下载完了是乱码,不知道怎么回事?希望大家帮帮忙!
还有一点很奇怪,我有a.asp和b.asp,a中生成excel,b下载,正常。但是当我把b的代码拷到a中时下载完了就是乱码了。