(Flask API), чтобы загруженные изображения в Firebase имели уникальные имена - PullRequest
0 голосов
/ 03 февраля 2019

Я создаю API, который загружает изображения в хранилище Firebase, в этом отношении все работает как положено, проблема в том, что синтаксис заставляет меня указывать имя файла при каждой загрузке, а в производственном режиме API будет получать запросы на загрузкус нескольких устройств, поэтому мне нужно сделать так, чтобы код проверял наличие доступного идентификатора, устанавливал его для объекта «blob ()», а затем выполнял обычную загрузку, но я понятия не имею, как это сделать.или случайное имя, которое меня не волнует, если оно не перезаписывает другое изображение

Вот мой текущий код:

from flask_pymongo import PyMongo
import firebase_admin
from firebase_admin import credentials, auth, storage, firestore
import os
import io


cred = credentials.Certificate('service_account_key.json')
firebase_admin.initialize_app(cred, {'storageBucket': 'MY-DATABASE-NAME.appspot.com'})

bucket = storage.bucket()
blob = bucket.blob("images/newimage.png") #here is where im guessing i #should put the next available name

# "apple.png" is a sample image #for testing in my directory
with open("apple.png", "rb") as f:
    blob.upload_from_file(f) 

1 Ответ

0 голосов
/ 04 февраля 2019

Как отмечается в комментарии «Клауса Д.», решение заключалось в реализации модуля «uuid»

import uuid

.....
.....
blob = bucket.blob("images/" + str(uuid.uuid4()))
...