JavaScript使用Ajax上傳文件的示例代碼
更新時間:2017年08月10日 10:45:13 作者:yangzhanmei
本篇文章主要介紹了JavaScript使用Ajax上傳文件的示例代碼,詳細的介紹了兩種上傳方式,感興趣的小伙伴可以了解一下
本文介紹了JavaScript使用Ajax上傳文件的示例代碼,分享給大家,具體如下:
實現(xiàn)文件的上傳主要有兩種方式:
使用form表單提交上傳
html代碼如下:
<form id="uploadForm" enctype="multipart/form-data"> <input id="file" type="file" name="file"/> <button id="upload" type="button">上傳</button> </form>
此時的JavaScript代碼如下:
var formData = new FormDate($('#uploadForm')[0]);
$.ajax({
url: 'http://10.10.2.254:8080/file/associateupload',
type: 'POST',
cache: false,
data: formData,
processData: false,
contentType: false,
success:function(res){
console.log(res);
}
});
需要注意:
- processData設置為false。因為data值是FormData對象,不需要對數(shù)據(jù)做處理。
- <form>標簽添加enctype="multipart/form-data"屬性。
- cache設置為false,上傳文件不需要緩存。
- contentType設置為false。因為是由<form>表單構造的FormData對象,且已經(jīng)聲明了屬性enctype="multipart/form-data",所以這里設置為false。
使用FormData對象添加字段方式上傳文件
html代碼如下:
<div id="uploadDiv"> <input id="file" type="file"/> <button id="upload" type="button">上傳</button> </div>
JavaScript實現(xiàn)如下:
var formData = new FormData();
formData.append('file', $('#file')[0].files[0]);
$.ajax({
url: '/upload',
type: 'POST',
cache: false,
data: formData,
processData: false,
contentType: false,
success:function(res){
console.log(res);
}
這里有幾處不一樣:
- append()的第二個參數(shù)應是文件對象,即$('#file')[0].files[0]。contentType也要設置為false。
- 從代碼$('#file')[0].files[0]中可以看到一個<input type="file">標簽能夠上傳多個文件,只需要在<input type="file">里添加multiple或multiple="multiple"屬性。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
javascript實現(xiàn)瀑布流動態(tài)加載圖片原理
這篇文章主要為大家詳細介紹了javascript實現(xiàn)瀑布流動態(tài)加載圖片原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08

