NodeJS无法从二进制字符串创建正确的文件

时间:2019-03-05 15:39:01

标签: php node.js file-get-contents fs

我正在尝试从存储在SQLite DB中的二进制字符串创建文件(pdf,图像,视频)。数据库是使用旧版PHP应用程序创建的,而文件列都是通过将file_get_contents()的结果简单地插入到数据库中而生成的。

现在,我正在尝试根据以下字符串值创建文件:

fs.promises
          .mkdir(path.dirname("tmp/" + file.file_path), {recursive: true})
          .then(x => fs.promises.writeFile("tmp/" + file.file_path, file.file_chunk));

其中file_path是文件的完整路径,而file_chunk是二进制字符串(file_get_contents的结果)。

当我在相同的DB值上运行PHP代码时,file_put_contents()给我一个正确的文件,但是,上述代码在Node.js中的输出会生成空白pdf或损坏的图像文件。

是否可以使用PHP的file_get_contents()结果在nodeJS中写入文件?

0 个答案:

没有答案