Я пытаюсь исправить изображение формата base64, используя пакет jimp в Nodejs, но получаю ошибку - PullRequest
0 голосов
/ 19 сентября 2018
          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);
              })}})

Я пытаюсь использовать пакет jimp из npm для обрезки формата 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)

есть ли способ исправить изображение, котороев формате base64 без преобразования его в изображение в Nodejs

1 Ответ

0 голосов
/ 19 сентября 2018

Проблема из строки base64.Чтобы заставить его работать, просто отбросьте префикс data:image/jpeg;base64, и просто оставьте данные.

Пример:

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);
      })
  }
})

Вывод:

рб

.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...