Plupload并行上传

3
我正在使用 plupload 与 Asp.Net 通过通用处理程序进行交互。我有一个完全自定义的界面,所以只需绑定 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个回答

2
阅读完文档后,我觉得目前不支持并行上传,但是你可以通过修改源代码并使用一些Web Workers来实现这一点。
实际的上传发生在uploadNext()函数中(第897行)。

不是我想听到的答案,但您确实是正确的!谢谢MrT! - Matthew Kruskamp
顺便提一下,我认为uploadify(http://www.uploadify.com/)支持这个(无论如何似乎是这样),如果这很重要的话。欢迎Kruzy。 - Kyle Trauberman
我已经尝试了很多。我需要文件过滤、分块上传和完整的HTML自定义(为我们疯狂的设计师)。我认为uploadify不支持分块上传。 - Matthew Kruskamp

-1

您应该为每个需要进行并行传输的新plupload实例创建一个新实例。将这些实例包装在类似于pluploads的类中,并以适当的方式绑定设置和事件是必要的。另外,您需要实现一个自定义的handleFilesAdded方法来将新文件分配到群集中。

有一个项目可以创建plupload实例的群集并进行并行post。 您可以在此处查看:https://github.com/bennadel/Plupload-Cluster


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接