-1
这可能是一个基本问题,但想了解为什么如果source
指的是“图像”或非文本文件,使用fs.readFileSync
读取的文件大小不正确路径。NodeJS - 读取图像源返回不正确的文件大小
实施例:
fs.writeFileSync(outputPath, fs.readFileSync(source, 'utf8'));
这可能是一个基本问题,但想了解为什么如果source
指的是“图像”或非文本文件,使用fs.readFileSync
读取的文件大小不正确路径。NodeJS - 读取图像源返回不正确的文件大小
实施例:
fs.writeFileSync(outputPath, fs.readFileSync(source, 'utf8'));
因为您呼叫fs.readFileSync(源, 'UTF8')。
重要的部分是utf8,你告诉它解码文件就好像它是utf8文本。如果它是一个非文本文件,那么它将无法正常工作,从而产生不正确的文件大小。
你不应该将二进制文件读为'utf8'。 –
@AlexeyTen OP为什么不应该那样做?请扩大您的评论 –
文本编码旨在用于文本(人类可读)文件。图像(除非它们是SVG)是二元的。 –