2011-08-29 92 views
1

我如何可以下載一個文件[不點擊任何按鈕或鏈接或錨標記]在頁面加載事件,我想下載的頁面加載它自己的文件時,請helpe我,謝謝在頁面加載事件中下載文件?

+0

您的意思是您希望瀏覽您的網站的用戶在瀏覽到指定頁面後立即開始下載文件?有點像你在瀏覽器URL中輸入可下載的文件? –

+0

Hi Kiley Naro,當我向包含鏈接的用戶發送一個包含鏈接的用戶時,他希望得到他的確認並同時下載該文件。 –

回答

1

假設您已將文件下載到磁盤上並具有路徑。下面的代碼將做的伎倆。

// You should put more appropriate MIME type as per your file time - perhaps based on extension 
Response.ContentType = "application/octate-stream"; 
Response.AddHeader("content-disposition", "attachment;filename=[your file name w/o path]"); 
// Start pushing file to user, IIS will do the streaming. 
Response.TransmitFile(filePath); 
+0

嗨Vinay,當下載完成時,我想關閉我的應用程序或網絡 –

+0

@Surya,不幸的是,這是不可能的。由於安全隱患,瀏覽器不允許通過腳本未打開的腳本來關閉任何窗口。從更好的用戶體驗角度來看,當用戶點擊鏈接時,它應該打開下載頁面,並帶有一些友好的信息並使用java-script,它應該將頁面重定向到實際的下載URL。下載url應該使用'content-disposition'作爲'inline' - 對於pdf,html,doc等文件,瀏覽器可能會在同一個窗口中打開,而不是下載到磁盤。一旦閱讀,用戶可以關閉窗口 – VinayC

1

在你Page_Load方法添加以下行,設置適當的內容類型並使用要下載的文件的全名替換yourfile.extention。

this.context.Response.ContentType = "application/filetype"; 
this.context.Response.AddHeader("content-disposition", "attachment;filename=yourfile.extension");