如何从Firebase将图像下载到计算机

时间:2019-02-06 15:43:32

标签: java python

我的实际计划是将Python脚本从Firebase下载最新上传的图像到Raspberry Pi或我的计算机(Ubuntu)。

我已经尝试过像这样使用gsutil:

from  google.cloud import storage

import os

os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="finalpro.json"

client = storage.Client(project='finalpro-5d930')

bucket = client.get_bucket('gs://finalpro-5d930.appspot.com')

blob = storage.Blob('NewUploads/', bucket)

blob.download_to_filename('/home/simon/Documents/images')

我只需要Python脚本,这样我就可以在Raspberry Pi上的bashrc文件中初始化该脚本,以便在Raspberry Pi启动时,它会自动运行该脚本以从Firebase下载图像。

2 个答案:

答案 0 :(得分:1)

如果您需要单张照片的网址,则:-

url=storage.child("images/example.jpg").get_url(example.jpg)
print(url)

答案 1 :(得分:0)

安装

pip install firebase

Python版本

Firebase是为python 3及更高版本编写的,无法在python 2上正常工作。

将Firebase添加到您的应用程序

您的Google的Firebase配置数据可在Firebase>设置>项目设置滚动到底部>添加到网络应用>配置

中找到

仅用于基于用户的身份验证,我们可以创建以下配置:

from firebase import Firebase

config = {
  "apiKey": "apiKey",
  "authDomain": "projectId.firebaseapp.com",
  "databaseURL": "https://databaseName.firebaseio.com",
  "storageBucket": "projectId.appspot.com"
}

firebase = Firebase(config)

添加服务帐户后,默认情况下,所有数据库查询都将以管理员身份进行身份验证,请查看 有关如何对用户进行身份验证的身份验证文档。

存储

存储服务使您可以将图像上传到Firebase。

您首先需要初始化您的存储对象:

storage = firebase.storage()

孩子

就像使用数据库服务一样,您可以使用存储服务来构建数据的路径。

storage.child("images/example.jpg")

放入

put方法获取本地文件的路径和可选的用户令牌。

storage = firebase.storage()

# as admin
storage.child("images/example.jpg").put("example2.jpg")

# as user
storage.child("images/example.jpg").put("example2.jpg", user['idToken'])

下载

下载方法将获取保存的数据库文件的路径以及您希望下载的文件具有的名称。

storage.child("images/example.jpg").download("downloaded.jpg")

get_url

get_url方法获取保存的数据库文件的路径并返回存储URL。

storage.child("images/example.jpg").get_url()

>> https://firebasestorage.googleapis.com/v0/b/storage-url.appspot.com/o/images%2Fexample.jpg?alt=media

我希望这会有所帮助。阅读完整的文档:https://pypi.org/project/firebase