Node.js 我试图在Nodejs中使用jimp包压缩base64格式的图像,但出现了一个错误
我试图使用npm的jimp软件包裁剪base64格式的图像,但我得到一个错误,如下所示:Node.js 我试图在Nodejs中使用jimp包压缩base64格式的图像,但出现了一个错误,node.js,image,Node.js,Image,我试图使用npm的jimp软件包裁剪base64格式的图像,但我得到一个错误,如下所示: var base64str="data:image/jpeg;base64,***"//base64 format of the image var buf = Buffer.from(base64str, 'base64'); jimp.read(buf, (err, image) => { if (err) throw
var base64str="data:image/jpeg;base64,***"//base64 format of the image
var buf = Buffer.from(base64str, 'base64');
jimp.read(buf, (err, image) => {
if (err) throw err;
else {
image.crop(140, 50, 200, 280)
.quality(100)
.getBase64(jimp.MIME_JPEG, function (err, src) {
console.log("rb is \n")
console.log(src);
})}})
错误:找不到缓冲区的MIME
在Jimp.parseBitmap(D:\Node\image-crop\Node\u modules\@Jimp\core\dist\utils\image-bitmap.js:108:15)
在新的Jimp中(D:\Node\image crop\Node\u modules\@Jimp\core\dist\index.js:425:32)
at_构造(D:\Node\image crop\Node_modules\@jimp\core\dist\index.js:100:393)
位于D:\Node\image crop\Node\u modules\@jimp\core\dist\index.js:932:5
在新的承诺()
在Function.Jimp.read(D:\Node\image crop\Node\u modules\@Jimp\core\dist\index.js:931:10)
反对。(D:\Node\image-crop\index.js:46:6)
at模块编译(内部/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:700:10)
在Module.load(内部/modules/cjs/loader.js:599:32)
是否有任何方法可以在不将base64格式的图像转换为Nodejs中的图像的情况下合并该图像?问题在于base64字符串。要使其工作,只需删除前缀
data:image/jpeg;base64,
,只需保留数据即可
例如:
Error: Could not find MIME for Buffer <null>
at Jimp.parseBitmap (D:\Node\image-crop\node_modules\@jimp\core\dist\utils\image-bitmap.js:108:15)
at new Jimp (D:\Node\image-crop\node_modules\@jimp\core\dist\index.js:425:32)
at _construct (D:\Node\image-crop\node_modules\@jimp\core\dist\index.js:100:393)
at D:\Node\image-crop\node_modules\@jimp\core\dist\index.js:932:5
at new Promise (<anonymous>)
at Function.Jimp.read (D:\Node\image-crop\node_modules\@jimp\core\dist\index.js:931:10)
at Object.<anonymous> (D:\Node\image-crop\index.js:46:6)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
输出为:
rb是
数据:图像/jpeg;base64,/9j/4AAQSKZJRGABAQAAAQABAAAD/2WCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
const base64str = "R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="//base64 of a 1x1 black pixel
const buf = Buffer.from(base64str, 'base64');
jimp.read(buf, (err, image) => {
if (err) throw err;
else {
image.crop(140, 50, 200, 280)
.quality(100)
.getBase64(jimp.MIME_JPEG, function (err, src) {
console.log("rb is \n")
console.log(src);
})
}
})