【发布时间】:2013-08-06 08:14:14
【问题描述】:
我想避免使用 GAE 中的 Webapp,所以我使用此代码将图像上传到 Blobstore(代码 sn-p 来自:http://flask.pocoo.org/mailinglist/archive/2011/1/8/app-engine-blobstore/#7fd7aa9a5c82a6d2bf78ccd25084ac3b)
@app.route("/upload", methods=['POST'])
def upload():
if request.method == 'POST':
f = request.files['file']
header = f.headers['Content-Type']
parsed_header = parse_options_header(header)
blob_key = parsed_header[1]['blob-key']
return blob_key
它返回看起来确实是一个 Blobkey,就像这样:
2I9oX6J0U5nBCVw8kEndpw==
然后我尝试使用此代码显示最近存储的 Blob 图像:
@app.route("/testimgdisplay")
def test_img_display():
response = make_response(db.get("2I9oX6J0U5nBCVw8kEndpw=="))
response.headers['Content-Type'] = 'image/png'
return response
遗憾的是这部分不起作用,我收到以下错误:
BadKeyError: Invalid string key 2I9oX6J0U5nBCVw8kEndpw==
你们以前遇到过这个错误吗? Blobkey 的格式似乎很好,我找不到线索。
【问题讨论】:
-
我认为问题在于你得到的 blobkey 似乎是 base64 编码的。
-
谢谢,它把我推向了正确的方向;)
标签: google-app-engine python-2.7 flask google-cloud-datastore blobstore