http.get 下载损坏的 pdf 文件

问题描述

我正在尝试从 url 下载一个 pdf 文件,我使用 puppeteer 在网站上使用操作从一个函数获取文件。我使用以下功能下载文件

const downloadReport = async (opt: ICliparams) => {
  return new Promise(async (resolve,reject) => {
    try {

      const reportLink = await getReport(opt.cnp,opt.project);

      const file = fs.createWriteStream(opt.out);
      http.get(reportLink,(response) => {
        response.on('close',() => resolve());
        response.pipe(file);
      });
    } catch (e) {
      // tslint:disable-next-line:no-console
      console.error(e);
      reject(e);
    }
  });
};

大多数情况下,pdf 文件保存成功,但在极少数情况下 (5%) 某些文件已损坏,即我在打开它们时收到错误“PDF 文档已损坏”。我尝试了 thisthis 两种方法,但它们没有帮助,所以我猜问题出在函数本身。非常感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)