如何在 Google App Engine 中读取上传的文件

3 投票
2 回答
1886 浏览
提问于 2025-04-16 17:40

你好,我在应用引擎上有另一个问题。你有一个表单,里面有一个文件上传的字段,我需要读取上传的文件,验证它,然后把它存储到数据存储中。

我的问题是,我该怎么读取上传的文件呢?

在Django中,我会使用request.FILES,那在谷歌应用引擎(GAE)中有没有类似的东西呢?

我会很感激任何帮助。

2 个回答

0

一个很好的例子,关于如何在Google App Engine上上传和提供文件,可以在这里找到。其实有至少三种方法可以做到这一点:blobproperty、blobstore写文件和blobstoreuploadhandler。虽然blobstorehandler不是最简单的实现方式,但我还是推荐它,因为当输入来自表单时,它是最自然的选择。你需要把上传的URL传给请求对象:

 self.render_template("upload.html", {
    'form': form,#optional if you have a form class
    'form_url': blobstore.create_upload_url('/fileupload'),
})

class FileUploadHandler(blobstore_handlers.BlobstoreUploadHandler):
  def post(self):         
    try:
        if self.get_uploads()[0]:
            blob_info = self.get_uploads()[0]
2

这个问题已经在 Google App Engine中上传文件中回答过了。

Google App Engine的文档也有解释。 http://code.google.com/appengine/docs/images/usingimages.html#Uploading

简单来说,你只需要使用 self.request.get('输入表单中文件的名字')

撰写回答