一,通過表單提交的方式
該提交方式只是提交普通表單;對于file組所選中的文件內容是不上傳的,因此需要設置:enctype屬性
enctype="multipart/form-data"
如果想上傳多文件,可添加multiple
二,通過Ajax異步提交的方式
獲取文件內容:
//javascript
var file = document.getElementById('fileToUpload').files[0];
//jQuery:
var file = $("#img_input").prop("files")[0];
上傳:
XMLHttpRequest Level 2添加了一個新的接口FormData。利用FormData對象,我們可以通過JavaScript用一些鍵值對來模擬一系列表單控件。比起普通的Ajax,使用FormData的最大優點就是我們可以異步上傳一個二進制文件。
// 創建
var form_data = new FormData();
// 獲取文件
var file_data = $("#img_input").prop("files")[0];
// 把所以表單信息
form_data.append("id", "001");
form_data.append("name", "test");
form_data.append("img", file_data);
$.ajax({
type: "POST",
url: "....",
dataType : "json",
processData: false, // 注意:讓jQuery不要處理數據
contentType: false, // 注意:讓jQuery不要設置contentType
data: form_data
}).success(function(msg) {
console.log(msg);
}).fail(function(msg) {
console.log(msg);
});
標簽:form,type,data,var,file,msg,input,上傳
來源: https://blog.csdn.net/m0_48268301/article/details/115031714