2 Stimmen

blueimp jQuery Datei-Upload wird nicht ausgelöst

Ich versuche, das Blueimp File Upload Plugin zum asynchronen Hochladen von Bildern zu verwenden, aber wenn ich versuche, sie hochzuladen, passiert nichts. Keine der Callback-Funktionen werden überhaupt ausgelöst. Ich verwende diese Funktion, um den Dateiuploader an die Dateieingaben zu binden.

var initFileUpload = function (gender) {
//Used to bind fileupload plugin and send files

//bind file upload
$('#add_form').fileupload({
    namespace: gender+'_image',
    singleFileUploads: true,
    formData: [{name:'gender', value: gender}],
    fileInput: $("#"+gender+'_image'), 
    done: function(e, data){
        alert('success '+data.result);
    }

});
//Bind event callbacks
$('#add_form').bind('fileuploadsend', function (e, data) {
    console.log('sent');
});
$('#add_form').bind('fileuploaddone', function (e, data) {
    console.log('done');
});
$('#add_form').bind('fileuploadfail', function (e, data) {
    console.log(data.result);
});
$('#add_form').bind('fileuploadalways', function (e, data) {
    console.log(data.result);
});

}

Inspiriert durch das Tutorial zum Hochladen mehrerer Dateien hier. Ich mache das so, weil ich 3 verschiedene Eingänge mit unterschiedlichen Namen habe. Ich bin dann feuern die Funktion senden manuell innerhalb meiner Ajax-Aufruf, oder versuchen zu.

$.ajax({
      type: "POST",
      url: "/manage/processadditem",
      data: $("#add_form").serialize(),
      dataType: "html",
      success: function( response, textStatus, XHR )
      {
        if(response.indexOf('invalid') >= 0 || response.indexOf('Exception') >= 0){
            //Show them their errors
            alert(response);
        }
        else{
            //Upload item images
            //Send files
            $('#add_form').fileupload('send', {fileInput: $("#neutral_image"), url: '/manage/items/itemimage/test' });
            $('#add_form').fileupload('send', {fileInput: $("#male_image"), url: '/manage/items/itemimage/test' });
            $('#add_form').fileupload('send', {fileInput: $("#female_image"), url: '/manage/items/itemimage/test' });
            alert('should have uploaded image to cdn.completeset.com/items/test_nla.jpg if gender was neutral');
        }

      },
      error: function(jqXHR, textStatus, errorThrown){
        alert('An error occurred, please try again later.');
      }
    });

Ich habe in der Dokumentation gefunden aquí unter dem Abschnitt Programmatische Datei-Uploads, dass Sie die Sendemethode verwenden können, um Dateien manuell zu senden, mit einer Zeile wie $('#fileupload').fileupload('send', {files: filesList}); Das ist also das, was ich versuche, um die Dateien zu senden. Leider bekomme ich keine Art von Antwort von einer der Callback-Funktionen überhaupt, und ich habe keine Ahnung, warum.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X