跳转至

pdf查看及标题显示问题

需要在微信后台添加白名单,不然真机点击没有反应,但是打开调试可以打开

// 测试版本
previewPDF(pdfUrl, pdfTitle) {
  uni.downloadFile({
    url: pdfUrl,
    filePath: wx.env.USER_DATA_PATH + "/" + pdfTitle + ".pdf", // 需要预览文件的名称
    success: (res) => {
      if (res.statusCode === 200) {
        // 下载成功,打开文件
        const filePath = res.filePath; // 这个地方也是关键
        uni.openDocument({
          filePath: filePath,
          fileType: "pdf",
          success: () => {
            console.log("文件打开成功");
          },
          fail: (err) => {
            console.error("文件打开失败:", err);
          }
        });
      } else {
        console.error("文件下载失败,状态码:", res.statusCode);
      }
    },
    fail: (err) => {
      console.error("文件下载失败:", err);
    }
  });
}

// chat输出版本
previewPDF(pdfUrl, pdfTitle) {
  const fs = wx.getFileSystemManager();
  const targetPath = `${wx.env.USER_DATA_PATH}/${pdfTitle}.pdf`;
  uni.downloadFile({
    url: pdfUrl,
    success: (res) => {
      if (res.statusCode === 200) {
        // 保存为指定文件名
        fs.saveFile({
          tempFilePath: res.tempFilePath,
          filePath: targetPath,
          success: (saveRes) => {
            // 成功保存后打开
            uni.openDocument({
              filePath: saveRes.savedFilePath,
              fileType: "pdf",
              success: () => {
                console.log("文件打开成功");
              },
              fail: (err) => {
                console.error("文件打开失败:", err);
              }
            });
          },
          fail: (err) => {
            console.error("保存文件失败:", err);
          }
        });
      } else {
        console.error("文件下载失败,状态码:", res.statusCode);
      }
    },
    fail: (err) => {
      console.error("文件下载失败:", err);
    }
  });
}


// chat优化版本
previewPDF(pdfSrc) {
  const pdfUrl = pdfSrc; // 请替换为你的 PDF 地址
  const pdfTitle = "测试文件"; // 你希望在安卓上显示的文件名(不带扩展名)

  console.log("点击了预览 PDF");

  const fs = wx.getFileSystemManager();
  const targetPath = `${wx.env.USER_DATA_PATH}/${pdfTitle}.pdf`;

  uni.downloadFile({
    url: pdfUrl,
    success: (res) => {
      console.log("下载返回结果:", res);
      if (res.statusCode === 200) {
        fs.saveFile({
          tempFilePath: res.tempFilePath,
          filePath: targetPath,
          success: (saveRes) => {
            console.log("文件保存成功:", saveRes.savedFilePath);
            uni.openDocument({
              filePath: saveRes.savedFilePath,
              fileType: "pdf",
              success: () => {
                console.log("文件打开成功");
              },
              fail: (err) => {
                console.error("文件打开失败:", err);
              }
            });
          },
          fail: (err) => {
            console.error("文件保存失败:", err);
          }
        });
      } else {
        console.error("下载失败,状态码:", res.statusCode);
      }
    },
    fail: (err) => {
      console.error("下载失败:", err);
    }
  });
}