我在前端上寫了個上傳歌曲id和歌曲檔案的ajax,后臺servlet用getparameter接收,但是接收到的值均為NULL。在前端和后端都打了個斷點,前端可以正常拿到歌曲檔案和歌曲id,可以正常進入servlet但是servlet中拿到的值為空。我把歌曲檔案的那個引數給刪掉,只傳一個歌曲id,在后臺就可以正常拿到歌曲id,搞不懂,求大佬解答。
這是ajax代碼

這是谷歌瀏覽器里的看到的正常拿到資料

這是后臺servlet代碼
uj5u.com熱心網友回復:
ajax上傳檔案 你就不可以正常獲取了 因為 頭資訊都不一樣了 而且你上傳檔案方式?,你可以先搞明白 form上傳檔案你就知道servlet 怎么獲取檔案了
var formData = new FormData();
var temp=$("#filexx").get(0).files[0];//<input id="filexx" type="file">
var filenamex= "../img/type1_"+parseInt((Math.random()*1000+10))+temp.name;
formData.append("file",temp,filenamex);//上傳一個files物件
$.ajax({
url:"PritureSe?type=1",
data:formData,
type: 'POST',
cache: false,
contentType: false,
processData: false,
success:function (data) {
});
}
});
servlet 獲取檔案 可以用commons-fileupload commons-io 或 別的什么都行
uj5u.com熱心網友回復:
使用formdata上傳檔案,我不知道你那個img.substr(1)是什么,var formData = new FormData();
formData.append("file", file);
使用這樣的方式上傳檔案,一般上傳以前還要判斷一下檔案格式,后端使用MultipartFile 接收一下就可以了,希望可以幫到你
uj5u.com熱心網友回復:
不是所有瀏覽器都支持formdata。還是用form+iframe保險點。uj5u.com熱心網友回復:
dataType :"json"uj5u.com熱心網友回復:
有可能圖片太大了參考>>post方法上傳 base64編碼的圖片傳到后端為null
uj5u.com熱心網友回復:
我也遇到過類似問題,但是我用的是formdate,這個是將資料以表單資料形式一起上傳,如果是檔案后臺用MultipartFile,MultipartFile只能接受檔案,formdate除了檔案之外的值可以直接接收到。MultipartFile接受檔案可以百度方式。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/60328.html
標籤:Web 開發
上一篇:IDEA代碼編輯后無法運行
