鍍金池/ 問(wèn)答/Linux  HTML/ 將多個(gè)上傳文件append到FormData中時(shí)出現(xiàn)問(wèn)題

將多個(gè)上傳文件append到FormData中時(shí)出現(xiàn)問(wèn)題

首先用elementUI的上傳組件將文件分別保存到form.picFile和form.corFile中,然后在提交的時(shí)候先new一個(gè)FormData對(duì)象,再將文件append進(jìn)去,但是發(fā)送的數(shù)據(jù)中只有一個(gè)文件。請(qǐng)問(wèn)是什么原因?

this.param = new FormData();
this.param.append('files', this.form.picFile, this.form.picFile.fileName);
this.param.append('files', this.form.corFile, this.form.corFile.fileName);

圖片描述

回答
編輯回答
初念

修改一下回答

clipboard.png

同鍵名是沒(méi)有任何問(wèn)題的 mdn上面很明確加'[]'只是為了命名習(xí)慣. 所以說(shuō) 你現(xiàn)在的問(wèn)題可能出現(xiàn)在 第二次插入文件時(shí) form中沒(méi)有第二個(gè)的那個(gè)參數(shù) 應(yīng)該是還沒(méi)有獲取到.
兩種方法可以測(cè)試到

1.打斷點(diǎn)
2.在初始化form的時(shí)候給第二個(gè)參數(shù)一個(gè)默認(rèn)的值 如果獲取到了 值會(huì)被覆蓋 沒(méi)有獲取到 你提交時(shí)則顯示默認(rèn)的值
2017年3月9日 14:56
編輯回答
孤影

多文件上傳要這么寫(xiě)

data.append('file[]', $('.file')[i].file[0]);

this.param.append('files1', this.form.picFile, this.form.picFile.fileName);
this.param.append('files2', this.form.corFile, this.form.corFile.fileName);
2018年9月2日 23:46