JS FormData上傳文件的設(shè)置方法
使用FormData上傳文件時,總是獲取不到req.file對象。發(fā)現(xiàn)是沒有配置對FormData導(dǎo)致。
這里我是在vue中使用axios發(fā)送的請求,配置代碼如下。重點地方給出注釋
<form id="uploadform" method="POST" enctype="multipart/form-data" :action="postImgApi" ref="uploadform"> <input type="file" name="imagefile" @change="upload" ref="inputfile"> </form> let uploadform = this.$refs.uploadform let inputfile = this.$refs.inputfile let formData = new FormData(uploadform) //初始化時將form Dom對象傳入 formData.append('imagefile', inputfile) //將imagefile鍵追加進(jìn)去,值為input-file的dom對象,否則服務(wù)端無法獲取file this.$http.post(this.postImgApi, formData, { headers: { 'Content-Type': 'multipart/form-data' //設(shè)置post文件的請求頭 } }).then(res => { debugger this.textarea = res.data })
這兩天也是從網(wǎng)上找了各種demo和資料,發(fā)現(xiàn)使用自己的請求是后臺就是獲取不到文件,而使用form表單的submit卻是可以。最開始分析是否是自己的請求頭的問題,發(fā)現(xiàn)content-type正確且?guī)в衎oundary,content-length也正常,說明請求頭這里應(yīng)該是沒問題的。所以從FormData這里入手,幾次嘗試后尋找到上面代碼的方式可以正常運行。這里后面有時間還是要詳細(xì)分析下FormData,好好學(xué)習(xí)下在給出深度的解釋。
以上所述是小編給大家介紹的JS FormData上傳文件的設(shè)置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
JavaScript基礎(chǔ)篇(6)之函數(shù)表達(dá)式閉包
這篇文章主要介紹了javascript基礎(chǔ)篇(6)之函數(shù)表達(dá)式閉包的相關(guān)資料,需要的朋友可以參考下2015-12-12JavaScript學(xué)習(xí)筆記之?dāng)?shù)組去重
這篇文章主要介紹了JavaScript學(xué)習(xí)筆記之?dāng)?shù)組去重的相關(guān)資料,需要的朋友可以參考下2016-03-03一文教你徹底學(xué)會JavaScript手寫防抖節(jié)流
其實防抖和節(jié)流不僅僅在面試中會讓大家手寫,在實際項目中也可以起到性能優(yōu)化的作用,所以還是很有必要掌握的。本文就帶大家徹底學(xué)會JavaScript手寫防抖節(jié)流,需要的可以參考一下2022-11-11javascript function調(diào)用時的參數(shù)檢測常用辦法
js中并不直接支持類似c#的方法重載,所以只能變相的來解決,示意代碼:(利用了內(nèi)置屬性arguments)2010-02-02JavaScript實現(xiàn)點擊自動選擇TextArea文本的方法
這篇文章主要介紹了JavaScript實現(xiàn)點擊自動選擇TextArea文本的方法,涉及javascript中focus()、select()方法的使用技巧,非常簡單實用,需要的朋友可以參考下2015-07-07