2016-05-16 124 views
-1

这可能是一个基本问题,但想了解为什么如果source指的是“图像”或非文本文件,使用fs.readFileSync读取的文件大小不正确路径。NodeJS - 读取图像源返回不正确的文件大小

实施例:

fs.writeFileSync(outputPath, fs.readFileSync(source, 'utf8'));

+2

你不应该将二进制文件读为'utf8'。 –

+0

@AlexeyTen OP为什么不应该那样做?请扩大您的评论 –

+0

文本编码旨在用于文本(人类可读)文件。图像(除非它们是SVG)是二元的。 –

回答

1

因为您呼叫fs.readFileSync(源, 'UTF8')。

重要的部分是utf8,你告诉它解码文件就好像它是utf8文本。如果它是一个非文本文件,那么它将无法正常工作,从而产生不正确的文件大小。

相关问题