gpt4 book ai didi

python - 如何使用 python flask 从谷歌云存储服务图像

转载 作者:太空狗 更新时间:2023-10-30 00:43:13 25 4
gpt4 key购买 nike

我目前正在开发一个在 Appengine 标准环境中运行 flask 的项目,我正尝试在我的项目的默认 Appengine 存储桶上提供已上传到 Google Cloud Storage 的图像。

这是我目前的路由代码:

# main.py

from google.appengine.api import images
from flask import Flask, send_file

app = Flask(__name__)

...

@app.route("/sample_route")
def sample_handler():
myphoto = images.Image(filename="/gs/myappname.appspot.com/mysamplefolder/photo.jpg")
return send_file(myphoto)
...

但是,我收到了一个 AttributeError: 'Image' object has no attribute 'read' 错误。

问题是,我如何使用 python 和 flask 使用任意路径提供来自谷歌云存储的图像?

编辑:

我实际上是在尝试提供我已上传到我的应用引擎项目中的默认 Cloud Storage Bucket 的图像。

我还尝试使用以下代码提供图像但没有成功:

# main.py

from google.appengine.api import images
from flask import Flask, send_file

app = Flask(__name__)

...

@app.route("/sample_route")
def sample_handler():
import cloudstorage as gcs
gcs_file = gcs.open("/mybucketname/mysamplefolder/photo.jpg")
img = gcs_file.read()
gcs_file.close()

return send_file(img, mimetype='image/jpeg')
...

最佳答案

我用过 GoogleAppEngineCloudStorageClient Python 库和加载图像的代码类似于以下示例:

from google.appengine.api import app_identity
import cloudstorage
from flask import Flask, send_file
import io, os

app = Flask(__name__)

# ...

@app.route('/imagetest')
def test_image():

# Use BUCKET_NAME or the project default bucket.
BUCKET_NAME = '/' + os.environ.get('MY_BUCKET_NAME',
app_identity.get_default_gcs_bucket_name())
filename = 'mytestimage.jpg'
file = os.path.join(BUCKET_NAME, filename)

gcs_file = cloudstorage.open(file)
contents = gcs_file.read()
gcs_file.close()

return send_file(io.BytesIO(contents),
mimetype='image/jpeg')

关于python - 如何使用 python flask 从谷歌云存储服务图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41865214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com