Облачные функции Firebase: загрузка файлов с использованием хранилища putString - PullRequest
0 голосов
/ 18 октября 2018

Можно ли загружать файлы с помощью облачных функций?Это моя попытка:

const firebase = require("firebase");
app.post('/images', async function (request, response) {
  const data = request.body;
  var file = data.image; // base64 image data
  const storageRef = firebase.storage().ref(`images/${data.name}`);

  storageRef.putString(file, 'data_url').then(function (snapshot) {
    response.send('success')
  });
})

и я получаю сообщение об ошибке UnhandledPromiseRejectionWarning: TypeError: firebase.storage is not a function Есть ли какой-нибудь пример, который я могу найти?

1 Ответ

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

Да, это возможно.В облачной функции, как правило, вы должны использовать Admin SDK (firebase-admin, а не firebase).Обратите внимание, что Admin SDK обходит правила безопасности, поэтому вам следует убедиться, что вы правильно обработали авторизацию для загрузки.

В более широком смысле, однако, я не думаю, что это именно то, что вы, вероятно, захотите сделать.Облачные функции имеют относительно низкие ограничения на размер запроса (10 МБ), и вы должны платить за время вычислений во время загрузки.Вместо этого, почему бы просто не использовать JS SDK в самом приложении?Ваши пользователи могут по-прежнему загружать данные непосредственно в хранилище Cloud Storage, но без дополнительных затрат на выполнение функции в первую очередь.

...