vips_realpath и vips__file_open_write: невозможно сформировать имя файла Unix ошибка Firebase cloud_functions - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь загрузить изображение base_64 в облачные функции Firebase, используя Sharp. У меня есть следующий код:

// Create image of question
export async function drawQuestionImage(question: any): Promise<any> {
    const canvas = createCanvas(200, 200)
    const ctx = canvas.getContext('2d')

    // Write "Awesome!"
    ctx.font = '30px Impact'
    ctx.rotate(0.1)
    ctx.fillText('Awesome!', 50, 100)

    // Draw line under text
    const text = ctx.measureText('Awesome!')
    ctx.strokeStyle = 'rgba(0,0,0,0.5)'
    ctx.beginPath()
    ctx.lineTo(50, 102)
    ctx.lineTo(50 + text.width, 102)
    ctx.stroke()

    // Draw cat with lime helmet
    await loadImage(`${process.cwd()}/backgrounds/bg.jpg`).then(async (image) => {
        ctx.drawImage(image, 50, 0, 70, 70)
        //console.log('<img src="' + canvas.toDataURL() + '" />')
            const base64 = canvas.toDataURL().replace(/^data:image\/\w+;base64,/, "");;
            if (!base64 || !question) {
              return null;
            }

       const filePath = `questions/${question.id}`;
       const filename = `${question.id}.png`;
      // Resize source image
      await sharp(Buffer.from(base64.toString(), 'base64'))
        //.resize(size, size)
        .toFile(filePath);
     // Upload to GCS
     return bucket.upload(filePath, {
        destination: join(dirname(filePath), filename)
      });

    });
}

После запуска функции я получаю сообщение об ошибке:

Ошибка: vips_realpath: невозможно сформировать имя файла Unix Ошибка: Нет такого файлаили каталог vips__file_open_write: невозможно открыть файл "questions / zv872JxW" для записи ошибки Unix: такого файла или каталога нет: 1007 *

Что я делаю не так?

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