axios+FormData文件上傳
原理:FormData上傳
創建一個FormData對象,將得到的文件流對象放在FormData內,然后使用axios上傳
注意:
1.請求頭設置
headers: { 'Content-Type': 'multipart/form-data' }
2.FormData對象
無論是用input type=“file”還是一些框架的上傳組件,都可以的到一個file文件流,詳見代碼展示
代碼:
我是使用的是iview的Upload組件
<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)
}
}
鑽研不易,轉載請注明出處。。。。。。
