Plupload同步上传

时间:2012-12-12 00:06:38

标签: javascript plupload

我通过通用处理程序使用Asp.Net的plupload。我有一个完全自定义的界面,所以我只是绑定javascript。我已将其编码为自动启动,但文件一次上传一个。有没有办法让文件并行上传?我为所有内容分配了唯一的文件名,因此不需要考虑。

    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
        }
    });

2 个答案:

答案 0 :(得分:2)

在阅读完文档之后,我觉得目前不支持并行上传,尽管您可以修改source code以使用某些web workers执行此操作。

实际上传发生在uploadNext()函数(line 897)。

答案 1 :(得分:-1)

您应该为每个需要进行的并行传输创建一个新的plupload实例。将这些实例包装在类似于pluploads的类中,并以正确的方式绑定设置和事件是至关重要的。您还需要实现一个自定义handleFilesAdded方法,将新文件分发到群集。

有一个项目可以创建plupload实例集群并进行并行发布。您可以访问:https://github.com/bennadel/Plupload-Cluster