0


このコード を使用して、ファイルを blobstore に正常にアップロードしました。


しかし、ダウンロードできません
私がやっていることは次のとおりです。

`class PartnerFileDownloadHandler(blobstore_handlers.BlobstoreDownloadHandler):
    def get(self, blob_key):
    resource = str(urllib.unquote(blob_key))
    logging.info('I am here.')  //This gets printed successfully.
    blob_info = blobstore.BlobInfo.get(blob_key)
    logging.info(blob_info)   //This gets logged too. 
    self.send_blob(blob_info)`

私も試しました:

blobstore.BlobReader(blob_key).read()

ファイルデータを文字列形式で取得しますが、ハンドラー内からローカルファイルシステムにアクセスできないため、ファイルに書き込むことができません。

ファイルをアップロードする方法は、私のプロジェクトでは唯一の方法であるため、Google の公式チュートリアルで指定されている通常の方法は使用できません。また、blobstore にアップロードしているファイルがローカル ファイル システムに存在しません。URL から選択します。ファイルをダウンロードできないのは、おそらくこれが問題です。
助言がありますか?
ありがとう

4

2 に答える 2

1

おそらく、コード サンプルのblob_keyの代わりにresourceを使用する必要がありますか?

class PartnerFileDownloadHandler(blobstore_handlers.BlobstoreDownloadHandler):
def get(self, blob_key):
resource = str(urllib.unquote(blob_key))
self.send_blob(resource)
于 2012-06-15T10:18:27.747 に答える
0

DownloadHandler を次のように使用できます:
from mimetypes importguess_type

    def mime_type(filename):
        return guess_type(filename)[0]
    class Thumbnailer(blobstore_handlers.BlobstoreDownloadHandler):
        def get(self , blob_key):

            if blob_key:
                blob_info = blobstore.get(blob_key)


                if blob_info:
                    save_as1 =  blob_info.filename
                    mime_type=mime_type(blob_info.filename)
                    self.send_blob(blob_info,content_type=mime_type,save_as=save_as1)
于 2012-06-16T21:15:04.697 に答える