3

汎用ハンドラーを介してAsp.Netでpluploadを使用しています。私は完全にカスタムのインターフェースを持っているので、JavaScriptをバインドしているだけです。自動的に起動するようにコーディングしましたが、ファイルは一度に1つずつアップロードされます。ファイルを並行してアップロードする方法はありますか?私はすべてに一意のファイル名を割り当てるので、それは問題ではありません。

    var uploader = new plupload.Uploader({
        runtimes: 'gears,html5,flash,silverlight,browserplus',
        browse_button: 'select-from-folder',
        container: 'uploader',
        drop_element: 'uploader-drop-element',
        max_file_size: '2000mb',
        chunk_size: '1mb',
        unique_names: true,
        url: '/myuploader.ashx?globalId=' + globalId,
        flash_swf_url: '/scripts/plupload/plupload.flash.swf',
        silverlight_xap_url: '/scripts/plupload/plupload.silverlight.xap',
        filters: [
            {
                title: "Application Supported",
                extensions: "jpg,gif,png,pdf,mp4,flv,avi,wmv"
            }
        ]
    });

    uploader.init();


    uploader.bind('Init', function (up, params) { 
        // removed for brevity
    });

    uploader.bind('FilesAdded', function (up, files) {
        for (var i in files) {
            // removed for brevity
        }

        uploader.start(); // auto-start the uploader
    });

    uploader.bind('UploadProgress', function (up, file) {
        // removed for brevity
    });

    uploader.bind('FileUploaded', function (up, file, resp) {
        if (uploader.total.uploaded >= uploader.files.length) {
            // removed for brevity
        }
    });
4

2 に答える 2

2

ドキュメントを読んだ後、並列アップロードが現在サポートされているようには見えませんが、一部のWebワーカーでこれを行うようにソースコードを変更することはできます。

実際のアップロードはuploadNext()関数で行われます(897行目)。

于 2012-12-13T01:54:22.150 に答える
-1

実行する必要のある並列転送ごとに、新しいpluploadインスタンスを作成する必要があります。これらのインスタンスをpluploadsと同様のクラスでラップし、設定とイベントを適切な方法でバインドすることが不可欠です。handleFilesAddedまた、新しいファイルをクラスターに配布するカスタムメソッドを実装する必要があります。

pluploadインスタンスのクラスターを作成し、並列投稿を行うプロジェクトがあります。https://github.com/bennadel/Plupload-Clusterで確認できます

于 2015-09-19T13:30:14.883 に答える