노드의 이미지를 다운 샘플링하려고합니다. 그 이미지는 base64로 인코딩 된 문자열로 저장됩니다 (예 : "data : image/png; base64, iVBOR"등). Sharp npm 패키지를 사용하고 있습니다. 설명서는 이미지에 대한 파일 경로 또는 "inputBuffer"를 사용할 수 있다고 설명합니다. 나는 인터넷 검색을하고 Buffer 클래스가 그들이 말하는 것을 가정합니다. 아래 코드를 계속 시도하면 "입력 버퍼에 지원되지 않는 이미지 형식이 포함되어 있습니다."라는 오류가 발생합니다. 내 문제는 무엇이 될 수 있으며 확실하지 않은 경우 더 명확한 문서로 다른 npm 패키지를 추천 해 주실 수 있습니까?어떻게 Base64 문자열을 입력 버퍼로 변환합니까?
const downsizeProfileImgForTweet = (user, cb) => {
let imgBuffer = Buffer.from(user.profileImg, 'base64');
sharp(imgBuffer)
.resize(52, 52)
.toBuffer()
.then(data => {
console.log("success");
user.profileImg = data;
cb()
})
.catch(err => console.log(`downisze issue ${err}`));
}
전 인터넷을 통해 들여다 보았고 많은 추측과 확인을 했으므로 멍청한 질문에 대해 용서해주십시오. 제공 할 수있는 도움에 미리 감사드립니다!
'Buffer.from()'에 전달하기 전에 non-base64 헤더 데이터 (''data : image/png; base64,''부분)를 제거해야한다는 것을 잊지 않았습니까? – mscdex
나는 그것을 지금 사용하지 않을 것이다 – stckoverflowaccnt12
@mscdex 네, 이제 작동합니다! 고맙습니다 – stckoverflowaccnt12