1

グリッドビュー内からファイルをダウンロードするアプリケーションがあります。単一のファイルが行に添付されている場合、ファイルを簡単にダウンロードできますが、行内に複数のファイルを配置しようとすると、アプリケーションがダウンロードできなくなります。誰かがこれを達成する方法を提案できますか?

前もって感謝します

4

1 に答える 1

1

ユーザーがクリックしてファイルをダウンロードすると、このjavacriptコマンドを実行できます

window.location = "FileForDownload.jpg";

ユーザーに複数のファイルをダウンロードする機能を与えることに勝った場合、より複雑になります。

まず、ブラウザがそのアクションを警告し、ユーザーが複数のダウンロードを受け入れるまで停止することを知っておく必要があります。

これで、多くのファイルを送信できると簡単に言えますwindow.locationが、これが同期せずに発生すると、一方のファイルが他方のファイルを停止する可能性があります。ここでの同期は、この Cookie のトリックを使用して行うことができ、最初のダウンロードが開始 (または終了) された後にのみ、コマンドに 2 番目のダウンロードを与えることができます。

window.open("FileForDownload.jpg");もう 1 つの解決策は、同期を必要としない を (もちろんタイマー遅延を使用して) 何度も呼び出すことです。

これは 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");
于 2012-07-06T08:01:08.673 に答える