ASP.NET下載檔案(彈出開啟儲存檔案對話方塊)

iDotNetSpace發表於2009-12-30

看了好多種方法

好像都是通過Response轉換來的

 

ASP.NET下載檔案(彈出開啟儲存檔案對話方塊)
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gtpublic void Open()
    {
 
        
string FullFileName = "";
        
        
//ASP.NET下載檔案(彈出開啟儲存檔案對話方塊) 
        
//fileURL為帶路徑的檔案全名 
        /*
        string fileURL = url;
        System.IO.FileInfo fileInfo = new System.IO.FileInfo(fileURL); 
        Response.Clear(); 
        Response.AddHeader("content-disposition","attachment;filename="+Server.UrlEncode(fileInfo.Name.ToString())); 
        Response.AddHeader("content-length",fileInfo.Length.ToString()); 
        Response.ContentType = "application/octet-stream"; 
        Response.ContentEncoding = System.Text.Encoding.Default; 
        Response.WriteFile(fileURL); 
         
*/

        
//無錯版: 
        try
        {
            
string FileName = ".//路徑//書名.pdf";
            FileName 
= ".//路徑//檔名.副檔名";
            FullFileName 
= Server.MapPath(FileName); 
            
//FileName--要下載的檔名 
            FileInfo DownloadFile = new FileInfo(FullFileName);
            
if (DownloadFile.Exists)
            {
                Response.Clear();
                Response.ClearHeaders();
                Response.Buffer 
= false;
                Response.ContentType 
= "application/octet-stream";
                Response.AppendHeader(
"Content-Disposition""attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.ASCII));
                Response.AppendHeader(
"Content-Length", DownloadFile.Length.ToString());
                Response.WriteFile(DownloadFile.FullName);
                Response.Flush();
                Response.End();
            }
            
else
            {
                
//檔案不存在
            }
        }
        
catch
        {
           
//開啟時異常了
        } 

    }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-623970/,如需轉載,請註明出處,否則將追究法律責任。

相關文章