This article mainly introduces the example code of jquery ajax to implement the file drag and drop upload function. The code is simple and easy to understand, very good, and has reference value. Friends in need can refer to it
Let’s look at the ajax implementation of file upload
## No plug-in is used
1. Single file upload
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script> <title></title> </head> <body> <form id="uploadForm" enctype="multipart/form-data"> 文件:<input id="file" type="file" name="file"/> </form> <button id="upload">上传文件</button> </body> <script type="text/javascript"> $(function () { $("#upload").click(function () { var formData = new FormData($('#uploadForm')[0]); $.ajax({ type: 'post', url: "http://192.168.1.101:8080/springbootdemo/file/upload", data: formData, cache: false, processData: false, contentType: false, }).success(function (data) { alert(data); }).error(function () { alert("上传失败"); }); }); }); </script> </html>
2. Multiple file upload
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script> <title></title> </head> <body> <form id="uploadForm" enctype="multipart/form-data"> 文件:<input type="file" name="file" multiple="multiple"/><br> </form> <button id="upload">上传文件</button> </body> <script type="text/javascript"> $(function () { $("#upload").click(function () { var formData = new FormData($('#uploadForm')[0]); $.ajax({ type: 'post', url: "http://192.168.1.101:8080/springbootdemo/file/uploadFiles", data: formData, cache: false, processData: false, contentType: false, }).success(function (data) { alert(data); }).error(function () { alert("上传失败"); }); }); }); </script> </html>
multiple="multiple". In addition, there are many interfaces used. File upload interface.
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script> <title></title> </head> <body> <form id="uploadForm" enctype="multipart/form-data"> 文件:<input type="file" name="file"/><br> 文件:<input type="file" name="file"/><br> 文件:<input type="file" name="file"/><br> </form> <button id="upload">上传文件</button> </body> <script type="text/javascript"> $(function () { $("#upload").click(function () { var formData = new FormData($('#uploadForm')[0]); $.ajax({ type: 'post', url: "http://192.168.1.101:8080/springbootdemo/file/uploadFiles", data: formData, cache: false, processData: false, contentType: false, }).success(function (data) { alert(data); }).error(function () { alert("上传失败"); }); }); }); </script> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> .box { width: 300px; height: 300px; border: 1px solid #000; text-align: center; line-height: 300px; font-size: 40px; } </style> </head> <body> <p class="box">+</p> <script> var box = document.querySelector('.box'); box.ondragover = function (e) { e.preventDefault(); } box.ondrop = function (e) { console.log(e.dataTransfer) e.preventDefault(); var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responseText) } } xhr.open('POST', './server.php', true); var formdata = new FormData(); formdata.append('pic', e.dataTransfer.files[0]); formdata.append('name', 'luyao'); xhr.send(formdata); } </script> </body> </html> //server.php <?php $rand = rand(1,1000).'.jpg'; move_uploaded_file($_FILES['pic']['tmp_name'], './uploads/'.$rand); echo '/uploads/'.$rand;
Detailed analysis of how to use AJAX (code pasted)
Interview questions about AJAX (attached There is an answer)
php ajaxImplement the query drop-down content function
The above is the detailed content of jquery ajax implements file upload function (with code). For more information, please follow other related articles on the PHP Chinese website!