我有一个从gridview中下载文件的应用程序。当一个文件附加到一行时,我可以轻松下载文件,但是当我尝试在一行中有多个文件时,我的应用程序无法再下载。任何人都可以建议我能做到这一点吗?
提前致谢
答案 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");