时间: 2023-05-16 【学无止境】 阅读量:共1495人围观
简介 后台生成一个二进制流,操作过程中遇到的一些坑,首先是我用网上常规的操作wx.downloadFile,wx.openDocument,开发工具显示正常,真机可能会走到‘打开文档失败’;真机调试发现是 filePath= wx.env.USER_DATA_PATH + '/' + ‘xxx.pdf’,报错没有修改名字的权限
实现代码
  wx.request({
    url: '后台地址,获取二进制流',
    method: 'POST',
    header: {
      "content-type": "application/json",
    },
    responseType: "arraybuffer", //注意这里的responseType
    success: (result) => {
      console.log("下载成功!", result);
      var fileManager = wx.getFileSystemManager();
      var FilePath =  wx.env.USER_DATA_PATH + '/' + '文件名字'+'.pdf';
        //这里同样可能有问题  我这个打开后显示文档损坏   参考上面的方案解决  
      fileManager.writeFile({
        data: result.data,
        filePath: FilePath, 
        showMenu: true, // 显示右上角菜单
        encoding: "binary", //编码方式 
        success: res => {
          console.log('编码格式');
          wx.openDocument({ //成功之后直接打开
            filePath: FilePath, 
            showMenu:true,
            fileType: "pdf", // 需要指定文件格式,不然会提示文件无法打开
            success: result => {
              console.log("打开文档成功");
            },
            fail: err => {
              console.log("打开文档失败", err);
            }
          });
        },
        fail: res => {
          wx.showToast({
            title: '导出失败!',
            icon: 'none',
            duration: 2000,
          })
          console.log(res);
        }
      })
    },
    fail(err) {
      console.log(err)
    }
  })
上一篇:Python 实现批量将 PDF 转换成 Word 并做成一个桌面小工具
下一篇:小程序开发中,小程序码生成 错误码41030 invalid page