收藏
回答

wx.env.USER_DATA_PATH 不可用?

AppID
wx4182c91562f02302

我在云开发环境下,云数据库中的数据导出到EXCEL中,按照以下代码执行的的时候,出现报错。

checkCloudexportToExcel:function(){

    wx.cloud.callFunction({

      name: 'exportToExcel',

      data: {

        db: 'mouldManagerTool'

      }

    }).then(res => {

      // 使用临时文件路径保存 Excel 文件

      console.log('USER_DATA_PATH:', wx.env.USER_DATA_PATH);

      console.log('Initial USER_DATA_PATH:', wx.env.USER_DATA_PATH);

      if (!wx.env.USER_DATA_PATH || wx.env.USER_DATA_PATH.startsWith('http://')) {

        console.error('Invalid USER_DATA_PATH. Please check the environment.');

      } else {

        console.log('Valid USER_DATA_PATH:', wx.env.USER_DATA_PATH);

      }

      const tempFilePath = `${wx.env.USER_DATA_PATH}/exported_data.xlsx`;

      const fileManager = wx.getFileSystemManager();

      const buffer = new Uint8Array(res.result).buffer;

      console.log(res.result);

      console.log(tempFilePath);

      fileManager.writeFile({

        filePath: tempFilePath,

        data: buffer,

        encoding: 'binary',

        success: function (saveRes) {

          console.log('文件保存成功,尝试获取保存位置:', saveRes);

          if (saveRes && saveRes.savedFilePath{

            console.log('最终保存位置为:', saveRes.savedFilePath);

          } else {

            console.log('无法确定保存位置。');

          };

          //直接下载

          wx.downloadFile({

            url: tempFilePath,

            success: function (downloadRes) {

              if (downloadRes.statusCode === 200{

                // 保存到本地

                wx.saveFile({

                  tempFilePath: downloadRes.tempFilePath,

                  success: function (saveRes) {

                    console.log('文件保存到本地成功');

                  },

                  fail: function (err) {

                    console.error('文件保存到本地失败', err);

                  }

                });

              }

            },

            fail: function (err) {

              console.error('文件下载失败', err);

            }

          });

        },

        fail: function (err) {

          console.error('文件保存失败', err);

        }

      });

    }).catch(err => {

      console.error(err);

    });

  }

报错信息如下:

test01.js? [sm]:249 文件保存到本地失败 {errMsg: "saveFile:fail tempFilePath file not exist"}(env: Windows,mp,1.06.2408192; lib: 3.5.1)

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

1 个回答

  • Mr.Zhao
    Mr.Zhao
    08-24

    没看懂这骚操作,临时路径为什么要下载

    08-24
    有用
    回复
登录 后发表内容