收藏
回答

云函数代码执行成功,返回success,为什么文件却没有保存上?

以下是云函数的主要代码。

exports.main = async(event, context) => {
  try {
    let {userdata} = event.detaildata
    //1,定义excel表格名
    let dataCVS = '明细.xlsx'
    //2,定义存储数据的
    let alldata = [];
    let row = ['客户名称''日期','摘要''科目','借方''贷方']; //表属性
    alldata.push(row);  
    for (let key in userdata) {
      let arr = [];
      arr.push(userdata[key].User);
      arr.push(userdata[key].Date);
      arr.push(userdata[key].Ex);
      arr.push(userdata[key].CB);
      arr.push(userdata[key].Credit);
      arr.push(userdata[key].Debit);
      alldata.push(arr)
    }
    //3,把数据保存到excel里
    var buffer = await xlsx.build([{
      name"mySheetName",
      data: alldata
    }]);
    //4,把excel文件保存到云存储里
    return await cloud.uploadFile({
      cloudPath: dataCVS,
      fileContent: buffer, //excel二进制文件
    })
  } catch (e) {
    console.error(e)
    return e
  }
}

以下是JS代码

sendEML:function(){
  let that = this
  console.log(this.data.detaildata)
  wx.cloud.callFunction({
    name: "excel",
    data: {
      detaildata:this.data.detaildata,
      balancedata:this.data.balancedata,
    },
    success(res) {
      console.log("保存成功", res)
      that.getFileUrl(res.result.fileID)
    },
    fail(res) {
      console.log("保存失败", res)
    }
  })
},

返回的结果是保存成功,但是在云开发的文件里找不到。请教这是为什么。谢谢

回答关注问题邀请回答
收藏

3 个回答

  • 宁子
    宁子
    2021-05-25

    解决了吗,我也遇到同样的问题了。

    2021-05-25
    有用
    回复
  • 跨商通
    跨商通
    2021-02-24
    let dataCVS = Date.now()+'明细.xlsx'
    
    

    每次换个文件名试试。理由:缓存的原因。

    2021-02-24
    有用
    回复
  • Sundy🍁
    Sundy🍁
    2021-02-24

    最迷惑的是,我在第一次执行的时候,这个文件还真就保存上了。之后就再也保存不上了。

    2021-02-24
    有用
    回复
登录 后发表内容
问题标签