как встроить изображение в ответ JSON - PullRequest
2 голосов
/ 01 ноября 2019

Я использую Jimp для чтения строки JSON, которая выглядит следующим образом:

enter image description here

Как вы можете видеть imageузел представляет собой JPEG в кодировке base64.

Я могу успешно преобразовать его в TIFF и сохранить его:

  Jimp.read(Buffer.from(inputImage, "base64"), function(err, image) {
    image.getBuffer(Jimp.MIME_TIFF, function(error, tiff) {
    context.bindings.outputBlob = tiff
    ...}

Однако, когда я попытался внедрить tiff внутри объекта JSON, TIFF получаетвсе искажено:

  const response = {
    image: tiff.toString('base64'),
    correlation: correlation
  };

  context.bindings.outputBlob = response;

enter image description here

Вот полный код:

const Jimp = require("jimp");

module.exports = function(context, myBlob) {
  const correlation = context.bindings.inputBlob.correlation;
  const inputImage = context.bindings.inputBlob.image;
  const imageName = context.bindings.inputBlob.imageName;

  context.log(
    correlation + "Attempting to convert this image to a tiff: " + imageName
  );
  Jimp.read(Buffer.from(inputImage, "base64"), function(err, image) {
    image.getBuffer(Jimp.MIME_TIFF, function(error, tiff) {
      const response = {
        image: tiff.toString('base64'),
        correlation: correlation
      };

      context.bindings.outputBlob = response;
      context.log(
        correlation + "Succesfully converted " + imageName + " to tiff."
      );
      context.done();
    });
  });
};

Как мы встраиваемTIFF внутри полезной нагрузки JSON?

Если этот вывод не подлежит обсуждению, как бы я рендерил TIFF из сохраненной полезной нагрузки?

...