2012-09-26 8 views
5

Ich habe einige "ähnliche" Fragen durchgesehen, aber keine funktionieren oder lösen das spezielle Problem, das ich habe.Plupload - Funktion beim Hochladen abgeschlossen?

Ich verwende Plupload (http://www.plupload.com), um Bilder auf Amazon S3 hochzuladen. Das funktioniert gut, aber sobald die Uploads abgeschlossen sind, möchte ich ein weiteres Div auf der Seite aktualisieren, um Miniaturansichten der hochgeladenen Dateien anzuzeigen. Meine Absicht ist, jQuery.load zu verwenden, um dies zu tun (wie ich eine DB-Abfrage ausführen muss, bevor ich sie ausgeben kann). Im Moment versuche ich jedoch, die Grundlagen zum Laufen zu bringen und einfach das Div mit Text zu aktualisieren.

Mein aktueller Code (unten) gibt keine Fehler zurück, aber er aktualisiert das Div nicht, sobald die Datei (en) hochgeladen wurden. Wenn ich mir die verschiedenen Antworten/Vorschläge anschaue, scheint es eine Vielzahl von Möglichkeiten zu geben, um das zu erreichen, wonach ich suche - aber ich habe keine Arbeit bekommen.

mein Code Hier ist gerade jetzt ...

<script> 
$(document).ready(function(upload) { 
$("#uploader").pluploadQueue({ 
    runtimes : 'html5,html4', 
    url : '/gallery/upload.cfm', 
    max_file_size : '5000kb', 
    multiple_queues : true, 
    unique_names : true, 
    filters : [ 
     {title : "Image files", extensions : "jpg,gif,png,jpeg"} 
    ] 
}); 
$("#uploader").bind('FileUploaded', function() { 
$(".outputimages").html('The output goes here'); 
}); 
}); 
</script> 

<div id="uploader">You browser doesn't have HTML 4 support.</div> 

<div class="outputimages"></div> 
+0

Vielen Dank für die Antwort. Ich muss nicht auf die Dateinamen zugreifen, ich möchte nur eine andere Funktion auslösen, sobald die Uploads abgeschlossen sind (d. H. Ein anderes Div auf der Seite aktualisieren) - die tatsächlich hochgeladenen Dateien sind irrelevant. – Lee

+0

Nachdem alle Uploads abgeschlossen sind? – Cybrix

+0

Idealerweise ja - aber es würde nicht schaden, wenn es nach jedem einzeln brennt. – Lee

Antwort

8

Das ist mein Code, der auf meiner Seite funktioniert:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script src="plupload/jquery.plupload.queue.js"></script> 
<script src="plupload/plupload.full.js"></script> 
<script> 
    $(function() { 
     $("#uploader").pluploadQueue({ 
      runtimes : 'html5,html4', 
      max_file_size : '10mb', 
      url : 'upload.php', 
      max_file_size : '5000kb', 
      multiple_queues : true, 
      unique_names : true, 
      filters : [ 
       {title : "Image files", extensions : "jpg,gif,png,jpeg"} 
      ] 
     }); 

     var uploader = $('#uploader').pluploadQueue(); 

     uploader.bind('FileUploaded', function() { 
      if (uploader.files.length == (uploader.total.uploaded + uploader.total.failed)) { 
       $(".outputimages").html('The output goes here'); 
      } 
     }); 
    }); 
</script> 

<div id="uploader">You browser doesn't have HTML 4 support.</div> 

<div class="outputimages"></div> 

dieses Beispiel löst die FileUploaded Funktion nach jeder Datei in der Warteschlange wurden hochgeladen.

+0

Das funktioniert! Danke! genau in die Probe eingefügt, dann habe ich einfach den Upload-Pfad geändert und es funktioniert einwandfrei. Nicht ganz sicher, wo ich damit falsch gelaufen bin – Lee

+0

Gut! Einen schönen Tag haben! – Cybrix

+0

Ich habe versucht, den Code a zu verwenden bove, aber ich bekomme einen Fehler "pluploadQueue ist undefined". Irgendwelche Ideen? – Andreas

6

Es funktioniert besser mit UploadComplete anstelle von FileUploaded

+0

Sie scheinen zu verstehen, wie dieses System funktioniert, würde es Ihnen etwas ausmachen, einen Blick auf das für mich? http: // Stapelüberlauf.com/questions/16555550/how-do-i-return-daten-via-ajax-using-plupload-on-upload-complete, Danke! –