Heim  >  Artikel  >  Web-Frontend  >  So implementieren Sie die Datei-Upload-Funktion mit JQuery Ajax

So implementieren Sie die Datei-Upload-Funktion mit JQuery Ajax

jacklove
jackloveOriginal
2018-05-04 11:55:012402Durchsuche

Wenn Sie sich viele Websites ansehen, werden Sie feststellen, dass viele Websites über Datei-Drag-and-Drop-Funktionen verfügen. In diesem Artikel wird daher detailliert beschrieben, wie Sie JQuery-Ajax verwenden, um Datei-Drag-and-Drop-Upload-Funktionen zu implementieren:

1 > Datei-Upload

<!DOCTYPE html> 
<html> 
<head> 
 <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($(&#39;#uploadForm&#39;)[0]); 
  $.ajax({ 
  type: &#39;post&#39;, 
  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. Mehrfach-Datei-Upload

<!DOCTYPE html> 
<html> 
<head> 
 <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($(&#39;#uploadForm&#39;)[0]); 
  $.ajax({ 
  type: &#39;post&#39;, 
  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>

Der Schlüssel ist das Attribut multiple="multiple". Schnittstelle zum Hochladen mehrerer Dateien.

Natürlich können Sie auch den Einzeldatei-Upload-Modus verwenden, indem Sie ihn einfach mehrmals auswählen, aber die Schnittstelle ist auch die Schnittstelle zum Hochladen mehrerer Dateien von iyaoshiyong.

<!DOCTYPE html> 
<html> 
<head> 
 <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($(&#39;#uploadForm&#39;)[0]); 
  $.ajax({ 
  type: &#39;post&#39;, 
  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>

Alle Tests bestanden! ! !


Das Folgende ist ein Beispielcode zur Einführung der AJAX-Drag-and-Drop-Upload-Funktion. Der spezifische Code lautet wie folgt: Der Implementierungscode lautet wie folgt:

<!DOCTYPE html>
<html>
<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>+</p>
 <script>
 var box = document.querySelector(&#39;.box&#39;);
 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(&#39;POST&#39;, &#39;./server.php&#39;, true);
 var formdata = new FormData();
 formdata.append(&#39;pic&#39;, e.dataTransfer.files[0]);
 formdata.append(&#39;name&#39;, &#39;luyao&#39;);
 xhr.send(formdata);
 }
 </script>
</body>
</html>
//server.php
<?php
 $rand = rand(1,1000).&#39;.jpg&#39;;
 move_uploaded_file($_FILES[&#39;pic&#39;][&#39;tmp_name&#39;], &#39;./uploads/&#39;.$rand);
 echo &#39;/uploads/&#39;.$rand;

Beobachten Sie den Code zum Hochladen von Dateien mit JQuery Ajax, um zu sehen, ob Sie die Datei-Upload-Funktion beherrschen. Weitere Inhalte zu JQuery Ajax finden Sie auf der chinesischen PHP-Website .

Verwandte Empfehlungen:

Yii+upload implementiert die AJAX-Methode zum Hochladen von Bildern

Yii2 implementiert die ActiveForm-Ajax-Übermittlung

Detaillierte Erläuterung der Schritte zur jQuery+Ajax-Verifizierung des Benutzernamens

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Datei-Upload-Funktion mit JQuery Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn