SpringBoot+Ajax檔案上傳+FormData表單提交
阿新 • • 發佈:2019-01-29
需求
前端:
html定義好form表單的輸入資訊(text+file)標籤
js通過Ajax非同步提交表單中的內容。
後端:
通過介面接收表單中的資料(String+MultipartFile)
實現
HTML部分 :html定義好form表單的輸入資訊(text+file)標籤
//定義好id,ajax會用到
<form id="form-add">
//單選項 (解釋:name要與介面的引數名對應起來,value是對應值)
<input type="radio" name="imageNameIndex" value="1"> 一號位
<input type ="radio" name="imageNameIndex" value="2"> 二號位
<input type="radio" name="imageNameIndex" value="3"> 二號位
//文字 (解釋:name要與介面的引數名對應起來)
<input type="text" name="url">
//檔案 (解釋:name要與介面的引數名對應起來)
<input type="file" name="file">
//提交 (解釋:這個按鈕的唯一作用就是觸發提交的js方法)
<button type ="button" onclick="submitFunction()">提交</button>
</form>
JS部分:首先你得先引入JQuery。
function submitFunction() {
//這裡唯一需要注意的就是這個form-add的id
var formData = new FormData($("#form-add")[0]);
$.ajax({
//介面地址
url: '/submit' ,
type: 'POST',
data: formData,
async: false ,
cache: false,
contentType: false,
processData: false,
success: function (data) {
//成功的回撥
if(data.code == 300){
}
},
error: function (returndata) {
//請求異常的回撥
// modals.warn("網路訪問失敗,請稍後重試!");
}
});
}
後端Controller部分
@RequestMapping(value = "/submit", method = RequestMethod.POST)
public BaseBody submit(String imageNameIndex, String url, MultipartFile file)
throws Exception {
//這裡就可以獲取裡面的上傳過來的資料了
//做一些存庫操作,以及返回的資料
}