繁体   English   中英

结合使用Blobstore API和Google Cloud Storage-http 404错误消息

[英]Using the Blobstore API with Google Cloud Storage - http 404 error message

今天,如果网址不正确,则用户可以从我的appengine实例获得以下显示:

Error: Server Error

The server encountered an error and could not complete your request.
Please try again in 30 seconds.

我找到了有关如何使用blobstore.get使用正确的404消息进行寻址的参考 ,但不幸的是,该参考无法正常工作。 我弄清楚了原因。 bkey始终返回一些值,因此它将始终认为“它不是无效的bkey”。 我要弄清楚的是在bkey无效的情况下如何编写代码。 下面是我的代码:

gs_filename = '/gs/%s/%s' % (settings.BUCKET, filename)
bkey = blobstore.create_gs_key(gs_filename)

if not blobstore.get(key):
   logging.info("I got a 404 error'")
else:
  return blobstore_dh.send_blob(bkey, content_type=ct)

有没有人有什么建议?

我也遇到了这个问题,并提出了一个快速的解决方法:

from google.appengine.api.blobstore import BlobNotFoundError

..

    try:
        blobstore.BlobReader(blob_key).read(1)
    except BlobNotFoundError:
        logging.info('BlobNotFoundError')
        self.abort(404)

确实感觉有点骇人听闻,所以如果有人找到更好的方法,我很想听听它!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM