Ошибка типа: невозможно прочитать свойство 'bitmap' из неопределенного (ApostropheCMS) - PullRequest
0 голосов
/ 24 сентября 2018

При попытке загрузить любой файл GIF происходит странная ошибка.Эта ошибка вышла:

Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gif
Unsupported MIME type: image/gifUnsupported MIME type: image/gif
Unsupported MIME type: image/gifUnsupported MIME type: image/gif
C:\Users\Azmin\Desktop\amin-website\node_modules\uploadfs\lib\image\jimp.js:46        var originalWidth = image.bitmap.width;
                                  ^

TypeError: Cannot read property 'bitmap' of undefined
    at Jimp.<anonymous> (C:\Users\Azmin\Desktop\amin-website\node_modules\uploadfs\lib\image\jimp.js:46:35)
    at Jimp.throwError (C:\Users\Azmin\Desktop\amin-website\node_modules\jimp\index.js:85:44)
    at ReadFileContext.callback (C:\Users\Azmin\Desktop\amin-website\node_modules\jimp\index.js:201:44)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:420:13)

Есть ли какое-либо решение для этого?

1 Ответ

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

Через модуль uploadfs Apostrophe поддерживает несколько бэкэндов для обработки изображений.По умолчанию вы получаете jimp.jimp полезно, потому что это чистый javascript и не зависит от системных пакетов, но он также очень медленный, и версия, находящаяся в настоящее время в модуле uploadfs Apostrophe, не поддерживает GIF.

Обновление jimp в uploadfs и тестированиеВ результате вы получите отличный запрос, но для вас найдется лучшее долгосрочное решение.Apostrophe использует только jimp, потому что не может найти imagemagick, который намного быстрее и полностью поддерживает GIF.

Решение состоит в том, чтобы установить imagemagick как в вашей среде разработки, так и на вашем сервере.Это очень легко сделать.

В Ubuntu Linux:

sudo apt-get install imagemagick

В Linux со вкусом Red Hat, например CentOS:

sudo yum install ImageMagick

В MacOS:

(Сначала установите homebrew, если вы этого еще не сделали. Вам определенно нужен homebrew для dev на Mac.)

brew install imagemagick

В Windows: есть официальный установщик. Вам необходимо обязательно установить флажок для установки «устаревших утилит», таких как identify и convert.Вам также нужно убедиться, что они в вашем PATH попали, чтобы в командной строке их можно было найти (при вводе команды * 1034 в командной строке запускается эта утилита imagemagick).Затем обязательно перезапустите окна cmd, которые вы тестируете, чтобы убедиться, что они видят это изменение пути.

...