이미지 파일을 읽을 때 어떤 인코딩을 사용해야합니까? 이미지가있는 html 파일을 제공하는 기본 서버를 만들고 'utf-8'의 인코딩으로 이미지 파일을 읽고 브라우저에 데이터를 보내면 브라우저가 이미지를받지 못합니다. 그러나 인코딩을 빈 문자열 (예 : {encoding : ''})로 설정하면 브라우저가 이미지를받습니다. 또한 읽기 스트림 객체를 보면 기본 인코딩은 'utf-8'이며, 인코딩이 'utf-8'로 설정되지 않는 이유가 궁금합니다. 여기 파일을 읽을 때 사용할 인코딩을 아는 방법은 무엇입니까?
이 작동하지 않는 코드의 조각이다 :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")
})
을 그리고 여기에 작업을 수행하는 코드의 조각이다 : JPEG 이미지가 진입니다
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")
})