2013-09-23 104 views
0


我創建一個網頁與下載選項

當用戶點擊他得到三個選項禁用保存,並保存爲在下載文件ASP.NET

  • 打開下載選項
  • 保存
  • 另存爲

我只是希望用戶看到

  • 打開

我使用ASP.NET 4
謝謝

附:我試過谷歌,但沒有好的

+0

我想問題是,當用戶點擊保存時,它不會節省你縮進的東西,如果是這樣 - 直接解決這個問題,而不是通過禁用瀏覽器中的東西。 – Giedrius

+0

如果它被禁用它將適用於我 –

回答

0

你不能這樣做,這將是一個安全風險。我認爲接下來最好的事情是讓用戶向uri方案註冊應用程序,這需要通過註冊表在客戶端PC上進行配置。 (對於windows)

當然,這意味着您的應用程序也需要支持此功能。你可以看到如何在這裏工作:

http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx

的最好的事情是,當應用程序安裝槽安裝有該寄存器,否則,你可以在每次手動提供可執行修改註冊表,或做客戶端,或讓用戶從網站下載可執行文件,這是可行的。

如果你正在開發客戶端應用程序,你可以換個方式讓它輪詢web服務器,但這是一個更進化的解決方案。

+0

因此,這是不可能的 –

+0

不與JavaScript或標準瀏覽器功能,你可以隨時訴諸Flash或Java來讓這個工作。 –

+0

我必須在註冊表中添加 –

0

根據你所服務的文件類型,您可以到下面的頭添加到響應消息:

content-disposition: inline 

代碼:

Response.AddHeader("content-disposition", "inline") 

這將告訴瀏覽器打開該文件立即而不是顯示對話框。但它只會在瀏覽器支持文件類型時才起作用。

0

保存,另存爲,打開是您的瀏覽器的選項。檢查不同的瀏覽器,你會看到不同的選項。地獄,我可以用「打」,「打我」,「打我」和「看一看」選項製作瀏覽器。你無法從你的asp.net代碼中控制它們。

你可以從你的代碼做的最好的是指導你的瀏覽器中使用,以顯示下載的內容內嵌或作爲附件:

Response.AddHeader(「內容處置」,「附件;文件名= somefile。PDF格式 「)

Response.AddHeader(」 內容處置」, 「內聯」)

第一個選項會觸發瀏覽器的下載選項(在你的情況會顯示保存,另存爲和打開按鈕)在我的情況下,Chrome會自動保存文件而不詢問任何東西

第二個選項將直接打開文件,但只有瀏覽器將c正確識別下載內容的內容類型,以及它是否可以顯示。

例如,對於PDF文件需要設置:

Response.ContentType = 「應用程序/ PDF格式」;

,你需要有Acrobat Reader軟件,如果你使用的是舊的瀏覽器,或者你需要使用已經安裝一個插件PDF一個較新的瀏覽器(IE7 +,鉻等)

希望這有助於。