问题描述
我有一个简单的 a.docx 文件,其中仅包含单词 a (这只是一个简单的例子)。我使用readFileSync
读取了文件,该文件提供了 buffer 。我的目标是(从另一个.docx文件中)添加另一个缓冲区并以合并的.docx文件结束。
这是我要做的测试:
var buf = fs.readFileSync(path.resolve(__dirname,"a.docx"));
console.log(buf);
console.log(Buffer.concat([buf,buf]));
礼物:
<Buffer 50 4b 03 04 0a 00 00 00 00 00 00 00 21 00 df a4 d2 6c 20 05 00 00 20 05 00 00 13 00 00 00 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c 3c ... 51319 more bytes>
<Buffer 50 4b 03 04 0a 00 00 00 00 00 00 00 21 00 df a4 d2 6c 20 05 00 00 20 05 00 00 13 00 00 00 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c 3c ... 102688 more bytes>
符合预期(双字节)。但是,当我使用以下命令保存新的串联缓冲区时:
fs.writeFileSync(
path.resolve(__dirname,"hello.docx"),Buffer.concat([buf,buf])
);
...并尝试打开生成的 hello.docx 文件,我得到:
如果我单击“是”,则文档仅显示原始的 a.docx 文件,而没有预期的重复-为什么会发生这种情况?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)