#javascript #firebase #google-cloud-functions #firebase-storage
# #javascript #firebase #google-cloud-функции #firebase-хранилище
Вопрос:
Мне интересно, возможно ли и безопасно загружать файл непосредственно из папки firebase functions temp? У меня есть функция firebase, которая генерирует PDF-файл во временной папке при запуске из приложения (например, через httpsCallable
). Возможно ли, чтобы пользователь приложения напрямую загружал сгенерированный PDF-файл из папки temp, или функция должна выполнить дополнительный шаг сохранения файла в хранилище firebase перед загрузкой? Я не видел примеров первого. В моем случае нет необходимости сохранять файл pdf после его загрузки, поэтому я не вижу смысла загружать его в хранилище, если его можно загрузить прямо из папки temp.
Комментарии:
1. Да, вы можете абсолютно загрузить PDF-файл из папки temp в ответ на вызов функции.
Ответ №1:
Возможно ли, чтобы пользователь приложения напрямую загружал сгенерированный файл pdf из папки temp
Нет, это невозможно. Файловая система /tmp доступна только для экземпляра сервера, который ее создал, и она полностью хранится в памяти этого экземпляра. Он не доступен напрямую нигде, кроме этого.
нужно ли функции выполнять дополнительный шаг по сохранению файла в хранилище firebase перед загрузкой?
Если вы хотите сохранить файл в облачном хранилище, вам нужно будет использовать SDK для облачного хранилища, чтобы загрузить туда файл. Это необязательный шаг — вы в конечном итоге потеряете это содержимое в памяти, если не сохраните его где-нибудь постоянно.
Комментарии:
1. Спасибо, Дуг, я подозревал, что это так, но не был уверен на 100%.
2. «Файловая система / tmp доступна только для экземпляра сервера, который ее создал», поэтому после выполнения функции папка / tmp автоматически очищается? Потому что здесь firebase.google.com/docs/functions /… Я обнаружил, что должен сделать это вручную, но нигде не могу найти, как это сделать.
3. @jeand’arme Делайте все, что вы обычно делаете в nodejs, для удаления файлов. В удалении файлов в облачных функциях нет ничего особенного.