1

簡単にすべきことを行う方法を理解するのに苦労しています。

class Spam(db.Model):
    egg = blobstore.BlobReferenceProperty(blobstore.BlobKey, required=False)


class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
    def post(self):
        upload_files = self.get_uploads('file')
        blob_info = upload_files[0]
        spam = models.Spam(egg=blob_info.key())
        spam.put()

ここまではいいんじゃない?次に、ファイルを表示します。

egg_blob = blobstore.BlobInfo.get(spam.egg) #error below is thrown here

self.redirect('/serve/%s' % egg_blob.key())


BadArgumentError: Expected str or BlobKey; received <google.appengine.ext.blobstore.blobstore.BlobInfo object at 0x3ed8970> (a BlobInfo)

私は何が欠けていますか?spam.egg は BlobKey です。

4

1 に答える 1

2

いいえ、egg_blob(別名spam.egg)はBlobInfoだと思います。spam.eggを入手したら、blobstoreに戻る必要はないと思いますか?spam.eggリファレンスを使用してみましたか?すなわちします

self.redirect('/serve/%s' % spam.egg.key())
于 2011-01-22T05:18:40.890 に答える