// 上传组件
import config from '../../config/config'
Component({
properties: {
fileType: {
type: String, // 根据fileType确定点击的是哪个上传按钮,因当前页面可能有多个不同文件类型上传
value: ''
}
},
data: {
files: []
},
methods: {
// 上传文件:
uploadFile(e) {
let _this = this;
wx.chooseMessageFile({
count: 5,
type: 'file',
success (res1) {
const tempFiles = res1.tempFiles
wx.uploadFile({
url: config.baseUrl + 'upload-file/upload',
filePath: tempFiles[0].path,
name: 'file',
formData: {},
success (res2){
//根据返回的res2,需要将字符串的对象转换为json对象
const jsonData = JSON.parse(res2.data)
// 封装一个新的newData对象传给父组件
let newData = {
fileUrl: jsonData.data.uploadPath,
fileId: jsonData.data.fileId,
name: res1.tempFiles[0].name,
isNewFile: true
}
_this.setData({
// 这里有两种方式:
/**
*1.通过concat将数组连接,返回给父组件最新的数组
*2.返给父组件当前选中的文件newData对象,在父组件中自己在拼接为最新数组*/
files: _this.data.files.concat([newData])
})
_this.triggerEvent('OnUploadFile',{fileInfo: _this.data.files,fileType: _this.data.fileType})
}
})
}
})
},
}
})