在fineUploaderDnd中手动触发上传

时间:2013-07-31 16:44:36

标签: javascript fine-uploader

我有问题。我在autoUpload

中将$('element').fineUploaderDnd();设置为false

我可以拖放文件就好了。但是,我似乎无法弄清楚如何手动触发上传。我尝试了以下两种方法:

var uploader = $('#droppable').fineUploaderDnd(/*{ ... }*/);
uploader.fineUploaderDnd('uploadStoredFiles'); //Doesnt work
uploader.fineUploaderDnd('addFiles', handleUploads.fineUploaderFiles); //Also doesnt work

请注意,handleUploads.fineUploaderFiles是插件返回给我的“文件”对象的数组.on('processingDroppedFilesComplete')

他们都给我错误,说他们不支持。我也尝试了各种使用Dnd事物进行拖放操作的方法和普通的jquery fineUploader for'addFiles',但这似乎也不起作用。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

这些行不起作用:

uploader.fineUploaderDnd('uploadStoredFiles'); //Doesnt work
uploader.fineUploaderDnd('addFiles', handleUploads.fineUploaderFiles); //Also doesnt work

因为您只能在FineUploader的实例上调用uploadStoredFilesaddFiles方法。看来你正在DnD模块的实例上调用这些方法。

独立的Fine Uploader DnD模块中没有这样的选项。独立的拖放模块不会上传任何内容。它应与FineUploaderBasic模式实例一起使用(请注意,如果您愿意,可以完全在Fine Uploader之外使用它)。此模块是为想要集成拖放功能的FineUploaderBasic用户提供的。将支持轻松放入他们的应用程序如果您使用的是FineUploader模式,请拖放&但是,drop已经为您集成。

在基本模式下实现此目的

首先,添加FineUploader的实例:

var uploader = $("#uploader").fineUploader({ uploaderType: 'basic' /*, ... */ })

接下来,添加上传按钮:

var uploadButton = $("#upload-button").on('click', function () {
    $("#uploader").fineUploader('uploadStoredFiles');
});

然后,实例化你的拖放模块(请注意,这与FineUploader的实例是分开的!):

var dnd = $('#droppable').fineUploaderDnd({
     /* custom options */            
}).on('processingDroppedFilesComplete', function (event, files) {
    uploader('addFiles', files); //this submits the dropped files to Fine Uploader
});

供参考,请参阅以下内容: