2010-12-02 11 views

答えて

2

これは、blobとして格納されているswfファイルを処理するために使用します。ニーズやファイルの種類に合わせて簡単に修正することができます。 ?/ swfhandler/ID = 12

0

私は何かが欠落していない限り、取り出した入力内容を出力する前に適切なヘッダーを出力するだけで簡単です。

3

独自のハンドラを定義する必要があります。ハンドラは、キーをURLの一部またはクエリ文字列として使用し、memcacheから適切なオブジェクトを返します。

memcacheはキャッシュであることを前提としているため、信頼できるストレージメカニズムではないため、キャッシュから追い出されてもオブジェクトを取得する方法があるはずです。

+0

アプリケーションが鍵ペアを生成するために使用され、秘密鍵はおよその生存時間とのmemcacheに入れられる:

class SwfHandler(webapp.RequestHandler): def get(self): query = cgi.FieldStorage() swf = BlobStorage.get_by_id(int(query.getvalue('id'))) if swf: self.response.headers['Content-Type'] = 'application/x-shockwave-flash' self.response.out.write(swf.fileData) else: self.error(404) ## add "('/swfhandler/', SwfHandler)" to your application : application = webapp.WSGIApplication([('/swfhandler/', SwfHandler), ****) 

は、私が使用してファイルを要求します。 1分。私はしばらくするとデータが自動的に消去されるようにしたい。鍵ペアが生成された後、ユーザーは秘密鍵を示すページに移動し、リンクをクリックして1回のクリックでダウンロードできます。 – Neverland

+1

memcacheはキャッシュであるため、ユーザーがアクセスする前にデータを追い出すことができます。生きる時間は制限ではなく上限です。 –

関連する問題