Jquery FormData文件異步上傳 快速指南


網站中文件的異步上傳是個比較麻煩的問題,不過現在通過jquery 可以很容易的解決這個問題;

使用jquery2.1版本,較老版本不支持異步文件上傳功能;


表單代碼:

  1. <form id="fileUploadForm">  
  2.     <input type="file" name="file" class="imageUpload"/>  
  3.     <span id="commit">提交到服務器</span>  
  4. </form>  
  1. <form id="fileUploadForm">  
  2.     <input type="file" name="file" class="imageUpload"/>  
  3.     <span id="commit">提交到服務器</span>  
  4. </form>  

創建一個表單,里面包含一個file input 


腳本代碼:

[javascript] view plain copy
print ?
  1. function uploadFile() {  
  2.         //將表單封裝為一個formData對象  
  3.         var formData = new FormData($('#fileUploadForm')[0]);  
  4.         $.ajax({  
  5.             url:'http://127.0.0.1:8080/image/',  
  6.             type:'POST',  
  7.             //將formData對象作為參數進行上傳  
  8.             data:formData,  
  9.             contentType: false,  
  10.             processData: false,  
  11.             success:function (data) {  
  12.                 //文件上傳成功后的處理  
  13.                 $('#showUploadContent').append('<div>name:'+data.name+'<br/>url:'+data.url+'<img src="http://192.168.1.107/'+data.url+'"></div>')  
  14.             }  
  15.         })  
  16.     }  
  17.     $(function () {  
  18.         //為提交按鈕添加點擊事件  
  19.         $('#commit').click(function () {  
  20.             uploadFile();  
  21.         })  
  22.     })  
[javascript] view plain copy
print ?
  1. function uploadFile() {  
  2.         //將表單封裝為一個formData對象  
  3.         var formData = new FormData($('#fileUploadForm')[0]);  
  4.         $.ajax({  
  5.             url:'http://127.0.0.1:8080/image/',  
  6.             type:'POST',  
  7.             //將formData對象作為參數進行上傳  
  8.             data:formData,  
  9.             contentType: false,  
  10.             processData: false,  
  11.             success:function (data) {  
  12.                 //文件上傳成功后的處理  
  13.                 $('#showUploadContent').append('<div>name:'+data.name+'<br/>url:'+data.url+'<img src="http://192.168.1.107/'+data.url+'"></div>')  
  14.             }  
  15.         })  
  16.     }  
  17.     $(function () {  
  18.         //為提交按鈕添加點擊事件  
  19.         $('#commit').click(function () {  
  20.             uploadFile();  
  21.         })  
  22.     })  


NOTE:提交按鈕使用<button/> <input type="submit"/> 的情況下將會頁面跳轉,我使用的是<span/>元素:

<span id="commit" >提交到服務器</span>

這樣進行文件上傳就不會出現頁面跳轉,達到異步上傳;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM