Передача файла из клиента в Firebase Cloud Function - PullRequest
0 голосов
/ 10 октября 2019

Я хотел бы позволить пользователям загружать файлы в центральный репозиторий 'org', хранящийся в корзине Firebase Storage. К сожалению, я не могу написать пользовательское правило, необходимое для использования клиентского SDK для всех пользователей для доступа к их документам org, поэтому я должен пройти через облачные функции Firebase для загрузки и скачивания файлов.

Когда я хочуЧтобы загрузить файл из облачных функций, я сначала должен передать файл от клиента в облачные функции.

Пока я пытался передать файл в виде простого объекта, но он, очевидно, не работает.

// Client firebase clouf function 
const addFile = this.func.functions.httpsCallable('addFile');
const file = event.target.files[0];
addFile({file, meta, path})
.then( r => {
    resolve(r);
})
.catch( e => {
    resolve(e);
});

// in the cloud function when I perform
console.log(data.file);
// I receive a {} log...

Кто-нибудь знает, как это сделать?

РЕДАКТИРОВАТЬ

Я наконец решил пойти по этому пути:

  1. установить пользовательский токен заявки, когда пользователь получает доступ к определенному представлению, в котором мне нужна некоторая группа файлов: https://firebase.google.com/docs/auth/admin/custom-claims

  2. хранение всех файлов в обычном хранилище и загрузка / выгрузкаих только когда request.auth.token.customToken == uniqueBucketID

1 Ответ

0 голосов
/ 10 октября 2019

Я, наконец, решил пойти по этому пути:

настроить пользовательский токен заявки, когда пользователь получает доступ к определенному представлению, в котором мне нужна некоторая группа файлов: https://firebase.google.com/docs/auth/admin/custom-claims

, сохраняющая все файлы вобычное хранилище и загрузка / выгрузка их только тогда, когда request.auth.token.customToken == uniqueBucketID

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