AJAX實現(xiàn)文件上傳功能報錯Current request is not a multipart request詳解
想做一個文件上傳,spring boot配合Ajax來進行。卻報錯:Current request is not a multipart request
這是錯誤截圖:

當(dāng)時發(fā)生這種錯誤,我是很震驚的,我以為找了很多辦法來解決。
有以下辦法,當(dāng)然這些并未解決我的問題,但是部分有用,就先列舉出來:
1.在頁面頭部加入信息:
<meta http-equiv="Content-Type" content="multipart/form-data; charset=utf-8" />
此方法 未解決 問題!
2.在form表單加入屬性:enctype
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" />
</form>此方法 未解決 問題!
3.后端:@RequestParam MultipartFile file 改為 @RequestPart MultipartFile file
此方法 未解決 問題!
還有個別方法。。。都不行
下面是解決方法,我之前的ajax代碼:
$('#upload-ok').click(function () {
var form = document.getElementById("upload-form");
var file = new FormData(form);
$.ajax({
url: "/addFile",
type: "POST",
processData:false,
contentType:false,
data:{
"file":file
},
success: function (date) {
xxxxxx
},
error: function (date) {
xxxxxx
}
})
})正確代碼:
$('#upload-ok').click(function () {
var form = document.getElementById("upload-form");
var file = new FormData(form);
$.ajax({
url: "/addFile",
type: "POST",
processData:false,
contentType:false,
//重要部分,data的傳的是整個表單,不用大括號包裹;不用自定義變量名
data:file,
success: function (date) {
xxxxxx
},
error: function (date) {
xxxxxx
}
})
})就這樣,解決?。?!
到此這篇關(guān)于AJAX實現(xiàn)文件上傳功能報錯Current request is not a multipart request詳解的文章就介紹到這了,更多相關(guān)AJAX文件上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
$.ajax中contentType: “application/json” 的用法詳解
這篇文章主要介紹了$.ajax中contentType: “application/json” 的用法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-10-10
使用AJAX返回WebService里的集合具體實現(xiàn)
如何使用AJAX返回WebService里的集合,在本文將有一個完美的實現(xiàn),感興趣的朋友可以參考下哈,希望可以幫助到你2013-05-05
零基礎(chǔ)學(xué)習(xí)AJAX之制作自動校驗的表單
這篇文章主要介紹了零基礎(chǔ)學(xué)習(xí)AJAX之制作自動校驗的表單,需要的朋友可以參考下2015-01-01

