layui上傳多張圖檔請求一次接口
新項目需求必須用layui寫,沒辦法在用的過程中,碰到了這個問題,找了好久,最後用這個方法親測是有效的,這樣傳參以後背景拿到了所有的資料,
var files
upload.render({
elem: ‘#upload’
,exts: ‘jpg|png|jpeg|gif’//設定可上傳檔案
,multiple: true
,auto: false//選擇檔案後不自動上傳
,choose: function(obj){
console.log(obj)
files = obj.pushFile();
}
})
可以先拿到圖檔的檔案files,當然也要将檔案設定成點選送出按鈕再請求背景,也可以用jq直接擷取input框中的files,拿到以後再以下面的方法寫,就可以一次性将資料全都發送到背景。
最後請求的參數就是這樣的,這樣就保證可以與表單的其他資料一起送出,file檔案也會以 數組的形式傳到背景。
這裡也是回答一下其他部落客問的幾個問題。
第一點強調一下存放檔案的字段file這個字段可以随便聲明,并不一定要叫file,這個就是前後端商量着來,怎麼友善怎麼來。
第二點也是我自己的鍋,我是為了友善了解是以在file聲明時帶上了中括号[],這樣誤導了好多人,以為一定要帶上中括号,這裡還是和第一點一樣,就是随便聲明就可以,還是前後端商量着來。