微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将远程文件传递到Node.js应用程序中的libreoffice-convert库时,收到“错误:没有此类文件或目录,打开”

如何解决将远程文件传递到Node.js应用程序中的libreoffice-convert库时,收到“错误:没有此类文件或目录,打开”

我目前正在构建一个Node.js应用程序,该应用程序最终将用于将某些文件格式转换为其他格式。 libreoffice-convert库正在完成大部分工作。

将本地文件路径传递到库时,我可以进行文件转换而没有任何问题,但是当我通过request()抓取远程文件内容并传递接收到的文件时,它似乎不起作用要转换为libreoffice的正文。

这是我现在拥有的相关代码

request(fileUrl,{encoding: 'binary'},function(error,response,body) {
    const ext = '.html';

    libre.convert(body,ext,undefined,(err,done) => {
      if (err) {
        console.log(`Error converting file: ${err}`);
        res.sendStatus(500);
      } else {
        console.log(done);
      }
    });

  });

我可以看到,当我运行此命令时,libreoffice开始了转换,但是最终,我得到了这个错误Error: ENOENT: no such file or directory,open '/var/folders/j9/z_z85kh5501dbslrg53mpjsw0000gn/T/libreofficeConvert_-6529-x08o2o3peLMh/source..html

示例libreoffice-convert代码使用fs.readFileSync()获取本地文件,但是鉴于我想从远程文件获取内容,因此我传递了{{1}中收到的body }。

为确保request()内容正确,当在本地和远程调用相同的文件时,我将从body接收到的结果与从fs.readFileSync()接收到的结果进行了比较。似乎没有任何区别。

我是否缺少某些东西,或者libreoffice-convert库或libreoffice本身不支持此问题?

解决方法

libreoffice-convert 依赖于一些 linux 包,即 libreoffice-writer。 apt install libreoffice-writer 将解决您的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。