Google App Engine - ImagesService.getServingUrl()无法读取图片

时间:2012-10-12 23:59:23

标签: google-app-engine blobstore

我通过HTTP请求接收图像文件并将其存储在Blobstore中。我的代码与此处的代码类似:[https://developers.google.com/appengine/docs/java/blobstore/overview#Writing_Files_to_the_Blobstore] [1]。

在blobkey上调用我存储的图像上的函数ImagesService.getServingUrl()时,我收到以下消息:

HTTP ERROR 500

Problem accessing /upload. Reason:

    Failed to read image
Caused by:

java.lang.IllegalArgumentException: Failed to read image
    at com.google.appengine.api.images.ImagesServiceImpl.getServingUrl(ImagesServiceImpl.java:282)

经过数小时的谷歌搜索,试图找到解决方案,我认为问题是函数closeFinally()是错误的。我认为这是因为在关闭我创建的新blob图像之后,与blob关联的FileStats对象对于hasFinalizedName()返回false。然而,对于isClosed()和isFinalized(),blob返回true。此外,它的完整路径是这样的:

/ Blob存储区/可写:xFSAF_493dsfAfw489vFa ...

如果它关闭了,我认为它不应该是可写的。

所以我的问题是:有没有人有getServingUrl无法正常工作的解决方案?有没有人有解决方法getServingUrl?我想要为用户提供图片,我希望这些图片作为静态文件存在。带有blobstore的getServingUrl似乎是我的最佳选择。我不想使用Google云端存储,因为对于我看到的每个Blobstore与Google云存储问题,Blobstore似乎都赢了。

0 个答案:

没有答案