0
我正在嘗試縮減節點中的圖像。我把這個圖像存儲爲base64編碼的字符串(即:「data:image/png; base64,iVBOR」等)。我正在使用Sharp npm軟件包。該文檔似乎描述了sharp可以將文件路徑轉換爲圖像或「inputBuffer」。我做了一些Google搜索,並假設他們指的是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}`));
}
我看遍了整個互聯網,做了一堆猜測和檢查,所以原諒我的noob問題。預先感謝您提供的任何幫助!
您是否記得在傳遞給'Buffer.from()'之前首先剝離非base64頭部數據(''data:image/png; base64'''部分)? – mscdex
我不會現在就試試這個 – stckoverflowaccnt12
@mscdex是的現在它的工作原理!謝謝 – stckoverflowaccnt12