【发布时间】: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)参数有效:
有人遇到过吗? a url 会过期听起来很奇怪。
..弗雷德里克
编辑:
阅读文档我认为它应该始终是相同的 URL(我错了吗?):
此方法返回的 URL 始终是公开的,但不可猜测;当前不支持私有 URL。如果您希望停止提供 URL,请删除基础 blob 键。这最多需要 24 小时才能生效。
【问题讨论】:
-
没什么,没有错误。但这有点道理,因为它们自己的图像没有托管在我的应用程序上。
-
我不认为你需要调用 str(key) 你可以只传递密钥。
-
检查 blobstore 是否存在密钥
-
我检查了 blob 视图,所有图像都在那里。但是那里的密钥与上传时存储的 serving_url 的任何部分都不匹配。是否需要存储密钥,然后为每个请求获取一个服务 url?
-
你不需要存储key,key只是一个指向blob store的指针。您可能想要存储密钥以删除 blob。
标签: google-app-engine blobstore