Python 在webapp2/GAE中上载文件
我需要在基于Webapp2(Python)的googleappengine应用程序中上传和处理表单中的CSV文件我知道我可以使用blobstore临时存储文件,但我很想知道是否有一种方法可以处理文件而不必存储它。上传文件的内容位于处理程序中的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
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]