2

我正在开发一个使用plupload库进行文件上传的应用程序。我似乎无法让文件上传工作,因为存在某种错误,但我无法让这个错误发出警报或记录。

有没有人能够做到这一点?

这是我当前的代码:

uploader.bind('Error', function(error){
                    console.log(error);
                });

提前感谢您的帮助!

4

5 回答 5

2

绑定到错误事件需要两个参数:

  var uploader = $("#uploader").pluploadQueue();
  uploader.bind('Error', function(uploader, e) {
    console.error(e);
  });
于 2011-03-08T14:49:21.193 回答
2

所以我知道这可能为时已晚,但我刚开始使用 plupload 并且心情很好......

控制台从不记录任何内容的原因是因为您正在执行的绑定仅在所有上传完成后才会发生。

您需要将此代码放在该$('form').submit()行之前:

uploader = $('#plupload').pluploadQueue();
uploader.bind('Error', function(error){
   console.log(error);
});
于 2010-12-26T06:09:26.273 回答
1

另一个迟到的答案。如果我是你,我会从 changins 开始,例如:

$('form').submit(function(e) {

变成类似的东西:

$('form').bind('submit', function(e) {

和类似的东西:

$('form').submit();

进入:

$('form').trigger('submit');

此外,我会将所有这些绑定移出 $(form).submit。

uploader.bind('UploadProgress', function() {
    if (uploader.total.uploaded == uploader.files.length)
       $('form').submit();
});

只是为了简单性和可调试性。

不幸的是,仍然不知道您的脚本有什么问题。也许你错过了:

uploader.init();

也许:

if (uploader.total.uploaded == 0) {

没有触发。

不过,每行之后的一些 console.log 应该会有所帮助。:)

于 2011-03-07T12:34:03.287 回答
0

我也在寻找 Plupload 小部件提供的错误处理机制,没有一个答案有效。所以这是一个有效的(每个版本 2.1.2):

$(FileUpload.container).pluploadQueue({
        // General settings
        runtimes: 'html5,flash,silverlight,html4',
        url: "saveFiles",
        chunk_size: '1mb',
        rename: true,
        dragdrop: true,
        multipart : true,
        unique_names : true,
        filters: {
            // Maximum file size
            max_file_size: '16mb',
            // Specify what files to browse for
            mime_types: [
                {title: "XML files", extensions: "xml"}
            ]
        },
        // Flash settings
        flash_swf_url: '/plupload/js/Moxie.swf',
        // Silverlight settings
        silverlight_xap_url: '/plupload/js/Moxie.xap',
        init : {
            Error: function(up, args) {
                // Called when error occurs
                Daedalus.localMessage("XML file is not valid!");
            }
        }
    });

“init”对象有更多支持的事件,参考http://www.plupload.com/examples/events

于 2014-09-08T10:54:32.477 回答
0

这是我试图让它工作的整个代码库

$('#plupload').pluploadQueue({
        runtimes : 'flash, html5',
        url : '/admin/upload/do_upload/',
        filters : [
            {title : "Image Files", extensions : "jpg,gif,png"}
        ],
        flash_swf_url : "/js/admin/plupload/plupload.flash.swf"
    });

    $('form').submit(function(e) {
        alert('EHY');
        var uploader = $('#plupload').pluploadQueue();

        // Validate number of uploaded files
        if (uploader.total.uploaded == 0) {
            // Files in queue upload them first
            if (uploader.files.length > 0) {
                // When all files are uploaded submit form
                uploader.bind('UploadProgress', function() {
                    if (uploader.total.uploaded == uploader.files.length)
                        $('form').submit();
                });

                uploader.start();

                uploader.bind('Error', function(error){
                    console.log(error);
                });
            } else
                alert('You must at least upload one file.');

            e.preventDefault();
        }
    });
于 2010-09-17T14:42:52.947 回答