2011-10-26 82 views
1

我使用App Engine中的高性能图像服务功能来提供blobstore中的图像。但是,我希望用户能够修改这些图像(例如,旋转,裁剪等),然后将这些更改写回blobstore,覆盖原始Blob。我知道我可以在blobstore中写入新的blob,如下所述:http://code.google.com/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore有没有办法覆盖blobstore中的现有Blob

但我没有看到覆盖现有blob的方法。这可能在App Engine中吗?

我的使用情况是如下:

  1. 用户上传图像,并且应用程序引擎经由 get_serving_url
  2. 然后,用户可以使用我的应用程序以外的链接,例如生成链路链接到它 自己的博客上如果图像在我的应用程序(旋转等)日后发生变化,显示图像
  3. ,我 像他们的图像链接来反映这些改变

回答

7

文件存储在blobstore中是不可变的,一旦它们被写入,就不能被改变(仅被提供或删除)。

0

我想你应该尝试建立自己的控制器,用于生成文件服务URL - 在数据存储中的每个blobFile记录都有自己的ID(您对其进行管理)和版本ID - 对于第一次上传,设置新的ID和 版本 - 当用户改变你的形象,保存新Blob存储,保持ID和ID为新版本字段

在服务控制器生成的链接,当用户调用它,获得最新版本的服务

这只是我的意见,希望它有帮助!

相关问题