Функции Firebase - Sharp не может сохранить файл, загруженный в экземпляр функции - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь преобразовать определенные изображения, сохраненные в хранилище Firebase, как webp.

Я могу загрузить изображение в экземпляр функции

import * as functions from "firebase-functions";
import * as admin from "firebase-admin";
import * as os from "os";
import * as path from "path";

admin.initializeApp();

const sharp = require("sharp");
const storage = admin.storage();

const bucket = storage.bucket();
const imageRef = data.storageRef;
const fileName = path.basename(imageRef);
const webpFileName = `${fileName.split(".").shift()}.webp`;
try {
    console.log("Downloading file");
    const tempFilePath = path.join(os.tmpdir(), fileName);
    const imageBuffer = await bucket.file(imageRef).download({destination: tempFilePath});
    console.log(`Downloaded file to ${tempFilePath}`);

    // save image as webp
    const webpFile = sharp(imageBuffer).toFile(webpFileName);
    console.log("Sharpening");
    const webpRef = await bucket.upload(webpFile);
    console.log(`Uploaded ${webpRef}`);
    return imageRef;
  } catch (e) {
    console.log(`Error ${e.message}`);
    return null;
  }

Я могузагрузить изображение, но резкое выбрасывает ошибку Неподдерживаемый объект ввода

Есть предложения?Спасибо:)

...