1.创建上传文件标签
<input type="file" id="file" @change="changeFile()" ref="intFile" />
考虑到vue要获取节点进行操作,所以给标签添加一个ref,方便获取属性并给标签添加事件
2.change事件
changeFile(e){
var intFile = this.$refs.intFile;
this.files = intFile.files[0];
var size = this.files.size / 1024 / 1024 < 5;//计算文件的大小小于5mb
if(!size){//判断文件是否大于5mb
alert('上传文件大小不能超过5mb')
return
}
this.formData = new FormData();//new一个formData事件
this.formData.append("files",this.files); //将files属性添加到formData里
//formData就是我们要向后台传的参数了
}
3.上传文件
axios.post(url, this.formData, config)
.then(res => {
console.log(res.data)
})