2011-05-10 88 views
1

我有一個.pdf格式的文件,用於我的網站。打開另存爲對話框

如果您點擊鏈接,它會打開Adobe Reader並打開文件。

我想做的事,當你左鍵點擊,它會打開你想要

來保存文件,詢問你的對話框是。

我知道你可以通過右擊做到這一點,選擇另存爲, 但有什麼辦法由剛剛

一個簡單的左鍵點擊立即下載呢?

回答

2

我確定有一些破解可以實現這一點,但這是在計算機上安裝Adobe Reader時與瀏覽器一起安裝的功能。保持所有用戶的一致性是最好的方法。不要打擾嘗試使左鍵單擊打開保存對話框。用戶習慣了這種行爲並知道如何將PDF保存到本地硬盤

一致性是關鍵。

0

的PDF添加到壓縮文件夾,然後將鏈接添加到Zip文件夾

0

從你的鏈接的href部分刪除PDF的位置,和代碼一個onClick方法來代替。

<a href="#" onClick="$:openSaveDialog"> 

<script> 
function openSaveDialog() { 
    //Write a JavaScript function to prompt the user with a Save Dialog Box. 
} 
</script> 
1

兩部分,您必須將pdf轉換爲字節流,並向html響應添加內容處置標頭。

第一個獲得文件和流的字節數組

public byte[] GetDocument(string filePath) 
    { 
     return File.ReadAllBytes(filePath); 
    } 

然後把它 - 在Page_Load事件的第一件事 - 你需要通過會議或查詢傳遞文件路徑字符串添加到新頁面,因爲您無法更改已在瀏覽器中查看的現有頁面上的內容類型。

    Byte[] fileData = GetDocument(filePath); 

        Response.Clear(); 
        Response.ClearHeaders(); 
        Response.ClearContent(); 
        Response.ContentType = "application/pdf"; 

        // prompt to download 
        Response.AppendHeader("content-disposition", "attachment; filename=declarations.pdf"); 
        Response.AppendHeader("content-length", fileData.Length.ToString()); 

        Response.BinaryWrite(fileData); 
        Response.Flush(); 
        Response.Close();