从一个Gridview行下载多个文件asp.net C#

时间:2012-07-06 07:12:46

标签: asp.net

我有一个从gridview中下载文件的应用程序。当一个文件附加到一行时,我可以轻松下载文件,但是当我尝试在一行中有多个文件时,我的应用程序无法再下载。任何人都可以建议我能做到这一点吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

当用户点击并下载文件时,您可以提供此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");