Можно ли передавать файл с JavaScript на PHP? (Лучше всего использовать ajax). Если у нас есть следующий код:
<!DOCTYPE html> <html> <body> <input type='file' id='upld' onChange=' f=this.files[0] '> <input type='button' onClick='ajax_pass()'> <script> function ajax_pass() { console.log(f); //Send 'f' using ajax to php imaginary file... } </script> </body> </html>
Я новичок в программировании JS и не могу себе представить, как POST или GET могут содержать целое изображение. Можете ли вы пояснить это мне, пожалуйста?
Код HTML
<input id="myfile" type="file" name="myfile" /> <button id="upload" value="Upload" />
Код Jquery
$(document).on("click", "#upload", function() { var file_data = $("#myfile").prop("files")[0]; // Getting the properties of file from file field var form_data = new FormData(); // Creating object of FormData class form_data.append("file", file_data) // Appending parameter named file with properties of file_field to form_data form_data.append("user_id", 123) // Adding extra parameters to form_data $.ajax({ url: "/upload_file.php", dataType: 'script', cache: false, contentType: false, processData: false, data: form_data, // Setting the data attribute of ajax with file_data type: 'post' }); });
Код Php
print_r($_FILES); print_r($_POST);