HTML5 File API - Send File To Server For Processing April 27, 2023 Post a Comment I have form with the following form: ... Add ... Solution 1: Alright, I think your problem here is being caused by the FileReader's load event handler, which appends those data URLs to the form, being called after the form is submitted to the server. You could solve this problem, and do away with the superfluous images variable and submit event handler by adding these items to the form in the click handler for the Add link. You can also use this opportunity to do a little client side validation, preventing duplicate data URLs from being uploaded to the server, and even to add a preview/remove option for the selected images. Furthermore, you could do away with the Add link by replacing its click handler with a change handler attached to your file input. Edit (nfplee): var images = []; $("#add").click(function() { var files = $("#images")[0].files; for (var i = 0; i < files.length; i++) { var reader = new FileReader(); reader.onload = (function(file) { return function(e) { images.push({ name: file.name, file: e.target.result }); }; })(files[i]); reader.readAsDataURL(files[i]); } $("#images").val(""); }); var form = $("form"); form.submit(function() { for (var i = 0; i < images.length; i++) { $("<input>").attr({ type: "hidden", name: "images[" + i + "][name]" }).val(images[i].name).appendTo(form); $("<input>").attr({ type: "hidden", name: "images[" + i + "][file]" }).val(images[i].file).appendTo(form); } }); Copy Share Post a Comment for "HTML5 File API - Send File To Server For Processing"
Post a Comment for "HTML5 File API - Send File To Server For Processing"