谷歌存储python API - 上传一个StringIO对象
我成功地将文件上传到谷歌存储,但我想跳过创建一个文件,并使用StringIO而不是直接在谷歌存储上创建文件。谷歌存储python API - 上传一个StringIO对象
由于我是新来的蟒蛇,我只是想用我用于上传所创建的文件的标准方法:
def cloud_upload(self, buffer, bucket, filename): buffer.seek(0)
client = storage.Client()
bucket = client.get_bucket(bucket)
blob = bucket.blob(filename)
blob.upload_from_filename(buffer)
但我得到的错误:
类型错误:预期字符串或缓冲区
但是因为我给了它的StringIO对象,我不知道为什么这不起作用?
回答:
我不确定你怎么调用cloud_upload
函数,但你可以简单地使用upload_from_filename
函数来满足你的需要。
def upload_blob(self, bucket_name, source_file_name, destination_blob_name): """Uploads a file to the bucket."""
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob(destination_blob_name)
blob.upload_from_filename(source_file_name)
print('File {} uploaded to {}.'.format(
source_file_name,
destination_blob_name))
以上是 谷歌存储python API - 上传一个StringIO对象 的全部内容, 来源链接: utcz.com/qa/265347.html