我有一個應用程序從gridview下載文件。當一個文件附加到一行時,我可以輕鬆地下載這些文件,但是當我嘗試在一行中存在多個文件時,我的應用程序無法再下載。任何人都可能提出一個我可以做到的方法嗎?從一個Gridview行下載多個文件asp.net C#
在此先感謝
我有一個應用程序從gridview下載文件。當一個文件附加到一行時,我可以輕鬆地下載這些文件,但是當我嘗試在一行中存在多個文件時,我的應用程序無法再下載。任何人都可能提出一個我可以做到的方法嗎?從一個Gridview行下載多個文件asp.net C#
在此先感謝
當用戶點擊和下載文件時,你可以給這個javacript命令
window.location = "FileForDownload.jpg";
如果你贏了給用戶下載多個文件的能力更復雜化。
冷杉你必須知道,瀏覽器將提醒該行動,並停止它,直到用戶接受多次下載。
現在你可以很容易地說,你可以發送很多文件在window.location
,但如果發生這種情況不同步,那麼一個文件可以阻止另一個文件。這裏的同步can be done with this trick of cookies並且只在第一次啓動(或結束)之後給第二次下載命令。
還有一種解決方案是多次調用window.open("FileForDownload.jpg");
(當然有一個定時器延遲),它不需要同步。
這是javascript中的一般想法,但需要一些改進才能打開文件。
function DownloadAllFiles()
{
for (var i=0; i< arguments.length; i++){
window.open("http://www.domain.com/downloadpath/" + arguments[i]);)
}
}
// example of call
DownloadAllFiles("File1.zip","File2.zip","File3.zip");
我喜歡你的方法,它很簡單,仍然不需要jQuery。此外,您可以添加代碼以從代碼背後啓動JavaScript。 :) – NoLifeKing 2012-07-06 08:38:59
嘗試壓縮文件。 http://geekswithblogs.net/twickers/archive/2005/11/08/59420.aspx – NoLifeKing 2012-07-06 07:20:40
是否有可能沒有先壓縮文件,因爲這是最初的要求。 – imdondo 2012-07-06 07:28:26
如果有多個文件,爲什麼將它們添加到同一行?你不能在另一個視圖中顯示那些嗎?在行選擇可能? – nunespascal 2012-07-06 07:29:17