私はノードのイメージをダウンサンプリングしようとしています。私はその画像をbase64でエンコードされた文字列(つまり、 "data:image/png; base64、iVBOR"など)として保存しています。 Sharp npmパッケージを使用しています。ドキュメンテーションは、シャープが画像へのファイルパスか "inputBuffer"のどちらかを取ることを描写するように見えます。私はいくつかのグーグルを行い、バッファクラスは彼らが何を指していると仮定します。下のコードを続けて試してみると、「入力バッファにサポートされていないイメージフォーマットが含まれています」というエラーが表示されます。何が問題なのでしょうか?あなたが確信が持てない場合は、より明確な文書を持つ別の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}`));
}
私はすべてインターネット上で見て、推測や小切手の束をしたので、noobの質問のための私を許して。あなたが提供することができる任意のヘルプの事前に感謝!
'Buffer.from()'に渡す前にnon-base64ヘッダデータ( '' data:image/png; base64、 ''部分)を取り除くのを覚えていましたか? – mscdex
私は今それを試しませんでした – stckoverflowaccnt12
@mscdexはい今それは動作します!ありがとうございました – stckoverflowaccnt12