任意のファイルのアップロードと提供のGoogle App Engineの例

google-app-engine
任意のファイルのアップロードと提供のGoogle App Engineの例

GAEを使用して、少数のユーザーがファイルをアップロードして後で取得できるようにします。 ファイルは比較的小さい(数百KB)ため、blobとして保存するだけで機能します。 私はこのような何かの例を見つけることができませんでした。 いくつかの画像アップロードの例がありますが、ワードドキュメント、pdf、tiffなどを保存できるようにしたいです。 アイデア/ポインター/リンクはありますか? ありがとうございます。

  3  1


ベストアンサー

画像のアップロードに使用されるのと同じロジックが他のアーカイブタイプに適用されます。 ファイルをダウンロード可能にするには、 `Content-Disposition`ヘッダーを追加して、ユーザーにダウンロードするように促します。 webappの簡単な例:

class DownloadHandler(webapp.RequestHandler):
    def get(self, file_id):
        # Files is a model.
        f = Files.get_by_id(file_id)
        if not f:
            return self.error(404)

        # Set headers to prompt for download.
        headers = self.response.headers
        headers['Content-Type'] = f.content_type or 'application/octet-stream'
        headers['Content-Disposition'] = 'attachment; filename="%s"' % f.filename

        # Add the file contents to the response.
        self.response.out.write(f.contents)

(テストされていないコードですが、アイデアは得られます:)

3


Blobstore APIを使用したいようです。 + Pythonまたはhttp://code.google.com/appengine/docs/javaを使用しているかどうかは言及しません/blobstore/overview.html[Java]ですから、両方へのリンクがあります。

2


最大50 MBのファイルのアップロード/ダウンロードを許可するblobstore APIを使用します。

2


タイトルとURLをコピーしました