微信小程序 上传文件response的内容返回格式需要转变为json对象

时间:2024-10-03 15:12:35
  • // 上传组件
  • 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})
  • }
  • })
  • }
  • })
  • },
  • }
  • })