如何解决python Firebase云存储-上传文件而不将其保存在本地
我想将zip文件上传到Firebase Cloud Storage,但我想避免将其保存在本地。相反,我想将其存储在内存中(使用BytesIO
),然后直接上传。
有可能吗?
解决方法
从理论上讲,应该可以将BytesIO
写入存储,而无需在本地写入文件。
Blob
类中有一个称为upload_from_string
(reference)的方法。该方法接受bytes
,并且还可以添加内容类型。例如我能够运行类似的内容:
# create simplest BytesIO object
b = io.BytesIO(b'hello')
# create storage client
storage_client = storage.Client()
# create test bucket
bucket = storage_client.bucket("vittoh-test-bytesio")
# create test blob
blob = bucket.blob("vitooh-test-blob")
# upload with type zip
blob.upload_from_string(b.read(),content_type='application/zip')
此创建的对象在我的测试存储区中的content_type为“ application / zip”。我不知道您想如何在BytesIO
中创建此zip文件,但是之后应该可以。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。