日期:2014-05-20  浏览次数:20666 次

下载后是本网页
我看了大家关于下载的代码,回去试了一下,不用工具下载的话,可以成功.但用迅雷的话下载的文件是本网页.以下是代码,望指教!!!

           
              string   name   =   ( "Doc2\\ ")+ "Employees.xml ";
            FileInfo   aFile   =   new   FileInfo(Server.MapPath(name));
           
                string   na   =   Path.GetFileName(name);
                string   hz   =   ". "   +   name.Substring(name.LastIndexOf( ". ")   +   1);//获取文件的后缀
              //清除缓冲区流中的所有内容输出
                Response.Clear();
                Response.ClearHeaders();
                Response.BufferOutput   =   false;
                Response.ContentType   =   "application/octet-stream ";
                  Response.AppendHeader( "Content-     disposition ",   "attachment;filename= "   +   HttpUtility.UrlEncode( "baocun "   +   hz,   Encoding.UTF8));                
                Response.AppendHeader( "Content-Length ",   aFile.Length.ToString());
                Response.WriteFile(aFile.FullName);
           
                              Response.End();

------解决方案--------------------
Set fso=Server.CreateObject( "Scripting.FileSystemObject ")
Set fl=fso.getfile(url)
flsize=fl.size
flName=fl.name
Set fl=Nothing
Set fso=Nothing
Set objStream = Server.CreateObject( "ADODB.Stream ")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile url
Select Case lcase(Right(flName, 4))
Case ".asf "
ContentType = "video/x-ms-asf "
Case ".avi "
ContentType = "video/avi "
Case ".doc "
ContentType = "application/msword "
Case ".zip "
ContentType = "application/zip "
Case ".xls "
ContentType = "application/vnd.ms-excel "
Case ".gif "
ContentType = "image/gif "
Case ".jpg ", "jpeg "
ContentType = "image/jpeg "
Case ".wav "
ContentType = "audio/wav "
Case ".mp3 "
ContentType = "audio/mpeg3 "
Case ".mpg ", "mpeg "
ContentType = "video/mpeg "
Case ".rtf "
ContentType = "application/rtf "
Case ".htm ", "html "
ContentType = "text/html "
Case ".txt "
ContentType = "text/plain "
Case Else
ContentType = "application/octet-stream "