Python 在webapp2/GAE中上载文件

Python 在webapp2/GAE中上载文件,python,google-app-engine,blobstore,webapp2,Python,Google App Engine,Blobstore,Webapp2,我需要在基于Webapp2(Python)的googleappengine应用程序中上传和处理表单中的CSV文件我知道我可以使用blobstore临时存储文件,但我很想知道是否有一种方法可以处理文件而不必存储它。上传文件的内容位于处理程序中的self.request.POST,因此您可以获取该内容(假设上传文件的字段名为'foo'),例如 现在,您可以将内容作为字符串来处理。当然,这会假定将放入内存中(无需上传多兆字节!)…如果需要通过webapp2上传带有HTML表单的文件,首先需要将HTML

我需要在基于Webapp2(Python)的googleappengine应用程序中上传和处理表单中的CSV文件我知道我可以使用blobstore临时存储文件,但我很想知道是否有一种方法可以处理文件而不必存储它。

上传文件的内容位于处理程序中的
self.request.POST
,因此您可以获取该内容(假设上传文件的字段名为
'foo'
),例如


现在,您可以将内容作为字符串来处理。当然,这会假定放入内存中(无需上传多兆字节!)…

如果需要通过webapp2上传带有HTML表单的文件,首先需要将HTML表单
enctype
属性更改为
multipart/form data
,因此代码片段如下所示:

<form action="/emails" class="form-horizontal" enctype="multipart/form-data" method="post">
    <input multiple id="file" name="attachments" type="file">
</form>
<form action="/emails" class="form-horizontal" enctype="multipart/form-data" method="post">
    <input multiple id="file" name="attachments" type="file">
</form>
class UploadHandler(BaseHandler):
    def post(self):
        attachments = self.request.POST.getall('attachments')

        _attachments = [{'content': f.file.read(),
                         'filename': f.filename} for f in attachments]