我有返回這樣如何僅當用戶請求將文件保存在ASP.NET MVC中時才提供fileDownloadName?
return this.File("file.pdf", "application/pdf");
的URL一個FileResult控制器動作「/下載/ 322」 - 其中322是該文件的ID。
這很好,所以如果用戶點擊一個PDF鏈接 - 只要他們安裝了PDF插件,它就會在他們的網絡瀏覽器中打開。
但是,如果他們右鍵單擊鏈接並選擇「另存爲...」呢?瀏覽器彈出文件名爲「322.」。我想在這一點上有更好的文件名,通過做這樣的事情:
return this.File("file.pdf", "application/pdf", "file.pdf");
但是,如果我改變控制器返回這樣,那麼它會一直彈出下載框,因爲MVC是將Content-Disposition標題設置爲附件(所以我不能嵌入文件)。
總之,我可以以某種方式檢測到用戶正試圖下載文件,而文件只是嵌入在頁面上的某些內容上嗎?
沒錯。好的解釋發生了什麼事。它進一步強化了我必須選擇一種方式。可以將它指定爲附件,或者不要。 – davekaro 2010-05-19 21:18:38
同意你所說的話! – 2010-05-20 05:49:42