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