Google app engine Google应用程序引擎上传和服务任意文件的示例

Google app engine Google应用程序引擎上传和服务任意文件的示例,google-app-engine,Google App Engine,我想使用GAE允许一些用户上传文件,然后检索它们。文件将相对较小(几百KB),所以只需将内容存储为blob就可以了。我找不到这样的例子。有一些图片上传的例子,但我想能够存储word文档、PDF、TIFF等。有什么想法/指针/链接吗?谢谢 用于图像上载的相同逻辑适用于其他归档类型。要使文件可下载,请添加内容处置标题,以便提示用户下载文件。一个简单的webapp示例: class DownloadHandler(webapp.RequestHandler): def get(self, fi

我想使用GAE允许一些用户上传文件,然后检索它们。文件将相对较小(几百KB),所以只需将内容存储为blob就可以了。我找不到这样的例子。有一些图片上传的例子,但我想能够存储word文档、PDF、TIFF等。有什么想法/指针/链接吗?谢谢

用于图像上载的相同逻辑适用于其他归档类型。要使文件可下载,请添加
内容处置
标题,以便提示用户下载文件。一个简单的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)

(未经测试的代码,但您明白了:)

听起来您想使用Blobstore API。

您没有提到您是否正在使用或正在使用,这里有指向这两者的链接。

我使用的blobstore API允许上传/下载任何高达50MB的文件。

谢谢!正是我需要的!Blobstore似乎就是你要找的。尝试send_blob()及其save_as选项:现在可以上传5GB而不是50MB。请看这里: