【问题标题】:Does blobstore URL expire? Getting 500 errorblobstore URL 是否过期?收到 500 错误
【发布时间】:2010-09-28 13:35:49
【问题描述】:

我有一个相当新的网站,我使用 blobstore 上传图片 并将 url 作为 db.StringProperty() 存储在我的数据存储模型中。

上传文件后,我会得到服务网址:image.imageUrl = images.get_serving_url(str(upload_files[0].key())),其中图像是我的数据存储模型。 我已经有大约 2 周没有修改代码了,到目前为止它一直在工作。

但是突然间所有的 url 在尝试打开它们时都会返回 500 错误。

网址http://lh4.ggpht.com/JfA6nTibsx99EJ2TQoQZr5OVXhQUj_tJK0wCP3FJSRq9RhCzUFLAwsR1q0bzplmqRaRu6fTnNPqDFzpxzMMBeva9FJ9WRXdAqgA 只返回 500 错误。

有些奇怪的是添加调整大小(添加 =s720)参数有效:

http://lh4.ggpht.com/JfA6nTibsx99EJ2TQoQZr5OVXhQUj_tJK0wCP3FJSRq9RhCzUFLAwsR1q0bzplmqRaRu6fTnNPqDFzpxzMMBeva9FJ9WRXdAqgA=s720

有人遇到过吗? a url 会过期听起来很奇怪。

..弗雷德里克

编辑:

阅读文档我认为它应该始终是相同的 URL(我错了吗?):

此方法返回的 URL 始终是公开的,但不可猜测;当前不支持私有 URL。如果您希望停止提供 URL,请删除基础 blob 键。这最多需要 24 小时才能生效。

【问题讨论】:

  • 没什么,没有错误。但这有点道理,因为它们自己的图像没有托管在我的应用程序上。
  • 我不认为你需要调用 str(key) 你可以只传递密钥。
  • 检查 blobstore 是否存在密钥
  • 我检查了 blob 视图,所有图像都在那里。但是那里的密钥与上传时存储的 serving_url 的任何部分都不匹配。是否需要存储密钥,然后为每个请求获取一个服务 url?
  • 不需要存储key,key只是一个指向blob store的指针。您可能想要存储密钥以删除 blob。

标签: google-app-engine blobstore


【解决方案1】:

看起来与 3789 的问题相同: http://code.google.com/p/googleappengine/issues/detail?id=3789

尝试附加 =s1600。

1600 是高性能可以服务的最大大小。附加 1600 应该得到本机大小,或者 1600 - 哪个更小。

【讨论】:

  • 似乎是。我昨天遇到了问题。但今天它工作正常!我将附加 =s1600 作为安全措施。
猜你喜欢
  • 2012-09-24
  • 2019-05-28
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
相关资源
最近更新 更多