Google App Engine上传和提供任意文件的示例

时间:2010-07-23 05:45:43

标签: google-app-engine

我想使用GAE允许一些用户上传文件然后检索它们。文件将相对较小(几百KB),因此只需将内容存储为blob即可。我一直无法找到这样的例子。有一些图像上传示例,但我希望能够存储word文档,pdf,tiff等。任何想法/指针/链接?谢谢!

3 个答案:

答案 0 :(得分:3)

用于图像上传的相同逻辑适用于其他存档类型。要使文件可下载,请添加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)

(未经测试的代码,但你明白了这一点:)

答案 1 :(得分:2)

答案 2 :(得分:2)