1

次のコードは複数のファイルをダウンロードしますが、進行状況バーが更新されません。ループを削除して 1 つのファイルのみをダウンロードすると更新されます。プログレスバーでさえ複数のファイルに対して以前は機能していましたが、今は何が間違っているのかわかりません。私も入れようとしました var fileTransfer = new FileTransfer(); 外側のループ

for(i=0;i<lesson_audio.length;i++){
        var fileTransfer = new FileTransfer();
        var filePath = fs_path+"/"+lesson_audio[i];

        var uri = encodeURI("http://myurl/"+lesson_audio[i]);

                fileTransfer.onprogress = function(progressEvent) {
                    perc = Math.floor((progressEvent.loaded / progressEvent.total) * 100);
                    $('#progress-bar').val(perc); 
                    $('#progress-bar').slider('refresh');
                }
                fileTransfer.download(
                    uri,
                    filePath,
                    function(entry) {
                       $("#progress-text").html($("#progress-text").html() + "download complete:" + entry.fullPath + "\n");
                    },
                    function(error) {
                        $("#progress-text").html($("#progress-text").html() + "download error:" + error.source + "\n")

                    }
                );

    }
4

1 に答える 1

0

ダウンロードしたいすべてのファイルを含むファイルをダウンロードすることを検討しましたか? ファイルマップのように。1 つのファイルをダウンロードし、それを読み込んでから、すべてのエントリ (ダウンロードしたいファイル) を配列に入れます。そのため、ダウンロードしたいファイルエントリの配列があり、(pop を使用して) ファイルをダウンロードするたびに、配列が縮小されます。次に、実際のファイルの進行状況とすべてのファイルの合計進行状況を表示して、最初に filemap-Array の長さを知っていて、成功したすべてのダウンロード エントリを削除します。

サイモン・マクドナルド 1 人がかなり素敵な要点をここに書きました

于 2014-02-11T22:52:53.637 に答える