Есть javascript код, сорри яву не знаю поэтому точно не уверен что начало закопипастил правильно: Есть javascript код, сорри яву не знаю поэтому точно не уверен что начало закопипастил правильно: $('#nmForm img').each(function(){ var $th = $(this); if($th.siblings('a.show-upload-form').length==0) { $th.after($('<a/>', { text: "загрузить", class: "show-upload-form", "href": "#", "onclick": "showUploadForm($(this));return false;" })); } }); и еще функции: function showUploadForm(th){ var $form = $('<form/>',{class:"file","method":"post","enctype":"multipart/form-data"}) .append($('<input/>',{"type":"file",class:"files","name":"file[]"})) .append($('<input/>',{"type":"submit","value":"Загрузить","onclick":"uploadFile($(this));return false;"})) .append($('<a/>',{"href":"#",class:"closeUploadForm","onclick":"closeUploadForm($(this));return false;"}).html("×")); th.after($('<div/>',{class:"upBlock"}).html($form)); th.hide(); } function closeUploadForm(th) { var p = th.parent().parent(); p.siblings('a').show(); p.hide(); } function uploadFile(th) { var $th = th; var data = new FormData(); $.each($th.siblings('.files')[0].files, function(i, file) { data.append('file', file); }); $.ajax({ contentType: false, method: "POST", cache: false, processData: false, url: "file.php", data: data }).done(function(d) { if(d.error!='') { $th.after($('<span/>',{class:'error',text: d.error}).fadeIn().delay(5000).fadeOut()); } else { var parent = $th.closest("td"); parent.find('a').show(); parent.find('img').attr({"src": '/upload/' + d.file}); parent.find('.upBlock').remove(); } }); } И мой вопрос, как эту javascript отправку файла, переделать под html форму отправки? У меня не получилось, помогите
<form action="file.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="Upload" name="submit"> </form> Сервер не хочет принимать, говорит пустой файл. Ну как реализовать именно html форму отправки исходя из java script?
Вообще для такого дела не плохо помогают утилиты типа Postman (расширение для Chrome), там можно быстро отладить запросы поиграться с заголовками и типами запросов По ссылке автора, без проблем заливается файл методом POST и правильным contentType. Ответ сервера: { "error": "", "file": "1435048811.png" } Рабочий код <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Тег FORM, атрибут enctype</title> </head> <body> <form action="file.php" enctype="multipart/form-data" method="post"> <p>Загрузите файл с картинкой</p> <p><input type="file" name="file"></p> <p><input type="submit" value="Залить"></p> </form> </body> </html> В чем может быть проблема как и изначально не понятно