我通过通用处理程序使用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
}
});
答案 0 :(得分:2)
在阅读完文档之后,我觉得目前不支持并行上传,尽管您可以修改source code以使用某些web workers执行此操作。
实际上传发生在uploadNext()
函数(line 897)。
答案 1 :(得分:-1)
您应该为每个需要进行的并行传输创建一个新的plupload实例。将这些实例包装在类似于pluploads的类中,并以正确的方式绑定设置和事件是至关重要的。您还需要实现一个自定义handleFilesAdded
方法,将新文件分发到群集。
有一个项目可以创建plupload实例集群并进行并行发布。您可以访问:https://github.com/bennadel/Plupload-Cluster