2016-05-16 123 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文本。如果它是一個非文本文件,那麼它將無法正常工作,從而產生不正確的文件大小。

相關問題