Comment ajouter des fichiers multiples entrées pour un objet FormData à l'aide de $.chaque?

J'ai plusieurs (et dynamique) nombre d'entrées de type=file.

Je veux créer un objet FormData.

- Je besoin d'ajouter manuellement à l'objet que j'ai besoin d'accéder à leurs noms de fichiers pour l'insertion dans une base de données et, par conséquent, besoin de spécifier un nom de fichier est ce format:

myFormData.append(name,file,filename);

HTML

<form id="my_form" enctype="multipart/form-data">
    <input type="file" name="undefined" id="file_1" data-filename="image.jpg">
    <input type="file" name="undefined" id="file_2" data-filename="image2.jpg">
    <button>click</button>
</form>

jQuery

var myFormData = new FormData();

$(document).on("click", "button", function(e) {
    e.preventDefault();
    var inputs = $("#my_form input");
    $.each(inputs,function(obj,v) {
        var file = v.files[0];
        var filename = $(v).attr("data-filename");
        var name = $(v).attr("id");
        myFormData.append(name, file, filename);
    });

    //alert(JSON.stringify(myFormData));
    console.log(myFormData);
});  

Je ne pense pas que l'objet est bien construit et je n'ai pas été en mesure d'afficher correctement le contenu de l'objet pour le confirmer.

C'est ce que j'obtiens dans la console:

Comment ajouter des fichiers multiples entrées pour un objet FormData à l'aide de $.chaque?

jsFiddle

http://jsfiddle.net/rwone/K7aMw/

OriginalL'auteur user1063287 | 2014-02-20