Beim Lesen einer Bilddatei welche Kodierung soll ich verwenden? Ich baue einen Basis-Server, um eine HTML-Datei mit einem Bild zu erstellen, und wenn ich die Bilddatei mit der Codierung von 'Utf-8' lese und die Daten an den Browser sende, empfängt der Browser das Bild nicht. Wenn ich die Codierung jedoch auf eine leere Zeichenfolge festlege (d. H. {Encoding: ''}), empfängt der Browser das Bild. Wenn ich mir das read-stream-Objekt anschaue, heißt das, dass die Standardcodierung "utf-8" ist, was mich wundern lässt, warum die Codierung auf "utf-8" nicht funktioniert.Wie kann man wissen, welche Codierung beim Lesen von Dateien verwendet wird?
Hier ist das Stück Code, das nicht funktioniert:
let readStream = fs.createReadStream('./static/002.jpg', {flags: 'r', encoding: 'utf8'})
console.log('ReadStream: ', readStream)
res.setHeader('Content-Type', 'image/jpeg')
readStream.on('data', (chunk) => {
res.write(chunk)
})
readStream.on('error', (err) => {
console.log(err)
})
readStream.on('end',() => {
console.log('Image stream ended')
res.end()
})
readStream.on('close', function(){
console.log("Image Stream closed")
})
Und hier ist das Stück Code, das funktioniert:
let readStream = fs.createReadStream('./static/002.jpg', {flags: 'r', encoding: ''})
console.log('ReadStream: ', readStream)
res.setHeader('Content-Type', 'image/jpeg')
readStream.on('data', (chunk) => {
res.write(chunk)
})
readStream.on('error', (err) => {
console.log(err)
})
readStream.on('end',() => {
console.log('Image stream ended')
res.end()
})
readStream.on('close', function(){
console.log("Image Stream closed")
})