【发布时间】:2016-05-16 20:58:55
【问题描述】:
这可能是一个基本问题,但想了解如果 source 指的是“图像”或非文本文件路径,为什么使用 fs.readFileSync 读取的文件大小不正确。
例子:
fs.writeFileSync(outputPath, fs.readFileSync(source, 'utf8'));
【问题讨论】:
-
您不应将二进制文件读取为
utf8。 -
@AlexeyTen 为什么 OP 不应该这样做?请扩大您的评论
-
文本编码用于文本(人类可读)文件。图像(除非它们是 SVG)是二进制的。
-
感谢@AlexeyTen。无论文件内容如何,无缝复制两个文件的最佳方式是什么。
-
最简单的方法是,在你的代码中删除
'utf8'。