Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python (Flask API),使firebase上载的图像具有唯一的名称_Python_Firebase_Flask_Firebase Storage_Flash Message - Fatal编程技术网

Python (Flask API),使firebase上载的图像具有唯一的名称

Python (Flask API),使firebase上载的图像具有唯一的名称,python,firebase,flask,firebase-storage,flash-message,Python,Firebase,Flask,Firebase Storage,Flash Message,我正在构建一个将图像上传到Firebase存储的API,在这方面一切正常,问题是语法让我在每次上传时指定文件名,并且在生产模式下API将接收来自多个设备的上传请求,因此我需要编写代码,以便它检查可用id,将其设置为“blob()”对象,然后执行正常上载,但我不知道如何执行。或者是一个随机名称,只要它不覆盖另一张图片,我不在乎 这是我目前的代码: from flask_pymongo import PyMongo import firebase_admin from firebase_admin

我正在构建一个将图像上传到Firebase存储的API,在这方面一切正常,问题是语法让我在每次上传时指定文件名,并且在生产模式下API将接收来自多个设备的上传请求,因此我需要编写代码,以便它检查可用id,将其设置为“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) 
正如“KlausD.”的评论所说,解决方案是实现“uuid”模块

正如“KlausD.”的评论所说,解决方案是实现“uuid”模块


这正是uuid的用途。请看
uuid
模块。我只是用谷歌搜索一下,我想这会解决问题,谢谢!这正是uuid的用途。请看
uuid
模块。我只是用谷歌搜索一下,我想这会解决问题,谢谢!
import uuid

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