【问题标题】:issues serving images with get_serving_url() on local dev server在本地开发服务器上使用 get_serving_url() 提供图像时出现问题
【发布时间】:2019-01-29 19:36:32
【问题描述】:

我已将一些示例图片上传到 GCS 存储桶,并尝试根据图片生成 URL,如下所示:

    filename = "/gs/ABC/abc.jpeg"
    blobkey = blobstore.create_gs_key(filename)
    serving_url = images.get_serving_url(blobkey, secure_url=True)

我得到的 serving_url 是这样的 http://127.0.0.1:8080/_ah/img/encoded_gs_file:dGVzdGltYWdlczEvaWc=

但是每当我在浏览器中访问 url 时,我都会在控制台日志中收到以下消息:

找不到带有键 encoded_gs_file:dGVzdGltYWdlczEvaWc=s200 的 blob

知道为什么这不起作用吗?任何帮助将不胜感激。

【问题讨论】:

    标签: google-app-engine google-cloud-platform cloud-storage


    【解决方案1】:

    我相信 appengine localhost 使用了一个从本地临时文件夹挂载的假 GCS(因此前缀为 encoded_gs_file:)。

    您可以获得cloudstorage 库来访问您的实际存储桶,方法是指定存储桶名称,然后执行

    cloudstorage.common.set_access_token(gcs_token)
    

    其中gcs_token 等于

    的输出
    gcloud auth application-default print-access-token
    

    有关更多信息,请参阅此答案:https://stackoverflow.com/a/33838216/4458510

    但是我不确定是否可以强制 blobstore.create_gs_key()images.get_serving_url() 使用非本地路径。

    我实际上有一个初始化脚本,可以用生产中的数据初始化我的本地主机,也许您也想制作一个下载这些文件并将它们注入本地环境的脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-16
      • 2019-08-15
      • 1970-01-01
      • 2013-10-06
      • 2013-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多