我试图找出 nosgae 是否支持 blobstore 进行测试,就像它对数据存储所做的那样。我在测试 blobstore 上传时遇到了麻烦。有人知道更多吗?
谢谢你。
编辑:
blob 是一个 BlobReferenceProperty()
现在我有一些问题。可能是因为我错过了一些东西。如果我尝试使用这样的 blob 添加实体:
e = entity(title=title, blob=open('/path/to/image.jpg').read())
e.put()
我得到一个
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore_types.py", line 113, in ValidateString
if len(value.encode('utf-8')) > max_len:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)
如果我使用
...
blob=open('/path/to/image.jpg', 'r')
...
结果是:
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/blobstore/blobstore.py", line 429, in get_value_for_datastore
return blob_info.key()
AttributeError: 'file' object has no attribute 'key'
然后,如果我使用 webtest.TestApp 尝试使用像“/_ah/upload/...”这样的上传网址,我会得到 404。我猜是因为我的应用程序不涵盖“/_ah/upload/...”网址。
任何提示?