axios+FormData文件上傳javascript
原理:FormData上傳html
建立一個FormData對象,將獲得的文件流對象放在FormData內,而後使用axios上傳java
注意:ios
1.請求頭設置axios
headers: { 'Content-Type': 'multipart/form-data' }
2.FormData對象app
不管是用input type=「file」仍是一些框架的上傳組件,均可以的到一個file文件流,詳見代碼展現框架
代碼:iview
我是使用的是iview的Upload組件post
<Upload :before-upload="handleUpload" accept=".rar" :format="['.rar']" :max-size=102400 action="#"> <Button size="small">選擇文件</Button> </Upload>
/* 上傳文件 */ export const importFile = data => request({ url: '/ktdb/projectAdmission/import', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data })
handleUpload (file) { // 建立FormData對象 let param = new FormData() // 將獲得的文件流添加到FormData對象 param.append('file', file, file.name) importFile(param).then((res) => { console.log(res) } }
鑽研不易,轉載請註明出處。。。。。。url