发新话题
打印

请问asp中如何下载文件?

请问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中时下载完了就是乱码了。

TOP

发新话题