3 回答

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
我認(rèn)為我也應(yīng)該在這里添加評(píng)論(我已經(jīng)在這里回答:JavaScript從FileList刪除要上傳的文件)
我找到了解決方法。完全不需要AJAX進(jìn)行請(qǐng)求,并且可以將表單發(fā)送到服務(wù)器。基本上,您可以創(chuàng)建一個(gè)hidden或text輸入,并將其value屬性設(shè)置為在處理所選文件后創(chuàng)建的base64字符串。
<input type=hidden value=${base64string} />
您可能會(huì)考慮創(chuàng)建多個(gè)輸入文件(而不是input text或)的想法hidden。這將無(wú)法正常工作,因?yàn)槲覀儫o(wú)法為其分配值。
此方法會(huì)將輸入文件包含在發(fā)送到數(shù)據(jù)庫(kù)的數(shù)據(jù)中,并且可以忽略輸入文件:
在后端不考慮該領(lǐng)域;
您可以disabled在序列化表單之前將屬性設(shè)置為輸入文件;
發(fā)送數(shù)據(jù)之前,請(qǐng)刪除DOM元素。
當(dāng)您要?jiǎng)h除文件時(shí),只需獲取元素的索引,然后從DOM中刪除輸入元素(文本或隱藏)。
要求:
您需要編寫邏輯以在輸入文件觸發(fā)change事件時(shí)在base64中轉(zhuǎn)換文件并將所有文件存儲(chǔ)在數(shù)組中。
優(yōu)點(diǎn):
基本上,這將為您提供很多控制,并且您可以篩選,比較文件,檢查文件大小,MIME類型等等。
添加回答
舉報(bào)