问题:如何将上传文件转换成文件流后再传给后台?
上代码:
<el-upload
class="text"
action="#"
:multiple="false"
:limit="1"
:http-request="UpFile"
:show-file-list="false"
:file-list="fileList"
:headers="headerObj">
<div>文件上传</div>
</el-upload>
data() {
return {
fileList: [],
//fileStream: '',
headerObj: {
Authorization: window.sessionStorage.getItem('token')
}
}
}
//文件上传
UpFile(item){
this.getFileStream(item.file);
},
//文件转成文件流
getFileStream(file){
let that = this
return new Promise(function(resolve,reject) {
let reader = new FileReader();
reader.readAsText(file);//file转成字符串
reader.onload= function() {//文件读取成功时触发
resolve(reader.result)
}
}).then((result) =>{
//一定要处理成二进制
var blob = new Blob([result])
//向数据库中添加请求回来的模型
that.addEntity(shujuku.db, { id: 2, name: 'aaa.obj', model: blob })
})
},