2010-09-17 5 views
2

Je travaille sur une application qui utilise la bibliothèque plupload pour le téléchargement de fichiers. Je n'arrive pas à obtenir le téléchargement du fichier parce qu'il y a une erreur, mais je ne peux pas obtenir cette erreur pour alerter ou enregistrer.Plupload et la génération d'erreur

Quelqu'un at-il été capable de le faire?

Voici mon code actuel:

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

Merci à l'avance pour toute aide!

+0

Jusqu'à quel point vous obtenez? Est-ce que le fichier arrive sur votre serveur? – russau

+0

Non, le fichier ne va nulle part. Mais je sais qu'une erreur se produit parce que l'icône de notification dans le dialogue plupload est le point d'exclamation. – dennismonsewicz

Répondre

0

Voici toute ma base de code pour essayer d'obtenir ce travail

$('#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(); 
     } 
    }); 
2

donc je sais ce qui est probablement trop tard, mais je commencé avec plupload et était d'humeur utile ...

La raison pour laquelle la console ne consigne jamais rien est que la liaison que vous effectuez ne se produit que lorsque tous les téléchargements ont été effectués.

Vous devez mettre ce code avant la ligne $('form').submit():

uploader = $('#plupload').pluploadQueue(); 
uploader.bind('Error', function(error){ 
    console.log(error); 
}); 
1

Une autre réponse tardive. Si je vous, je commencerais avec des trucs de Changins comme:

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

en quelque chose comme:

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

et des trucs comme ça:

$('form').submit(); 

dans:

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

Aussi je déplacerais tous ces b inds sur $ (forme) .smit.

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

Juste pour l'amour de simiplicity et debugability.

Malheureusement, vous ne savez toujours pas quel est le problème avec votre script. Peut-être vous manque:

uploader.init(); 

Peut-être:

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

ne déclenche pas. Néanmoins, certains console.log après chaque ligne devraient aider. :)

2

liaison à l'événement d'erreur nécessite deux params:

var uploader = $("#uploader").pluploadQueue(); 
    uploader.bind('Error', function(uploader, e) { 
    console.error(e); 
    }); 
+0

Pour moi, le 'pluploadQueue()' renvoyait un objet jQuery pas un 'plupload.Uploader' et il n'y avait aucun moyen d'accéder à ce dernier parce que c'était une variable interne non exposée dans le widget. Peut-être que j'ai raté quelque chose, mais ça m'a l'air d'un design merdique. – Walf

0

je cherchais aussi le mécanisme de gestion des erreurs fournies par un widget Plupload, aucune des réponses travailliez. Donc, voici le travail (par version 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!"); 
      } 
     } 
    }); 

L'objet "init" a plus d'événements pris en charge, reportez-vous à http://www.plupload.com/examples/events

Questions connexes