[英]Uploading Files in webapp2/GAE
我需要從基於Webapp2(Python)的Google App Engine應用程序中的表單上傳和處理CSV文件我知道我可以使用blobstore臨時存儲文件,但我很想知道是否有辦法處理文件無需存儲它。
上傳文件的內容位於處理程序中的self.request.POST
中,因此您可以獲取該內容(假設例如上傳文件的字段名為'foo'
),例如
content = self.request.POST.multi['foo'].file.read()
所以現在你把內容作為一個字符串 - 按你的意願處理它。 這並不當然假設事情會裝入內存(無多兆的上傳- !)...
如果您需要通過帶有HTML表單的webapp2上傳文件,您需要做的第一件事就是將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>
在python代碼中,您可以通過request.POST
直接讀取文件,這是一個示例代碼片段:
class UploadHandler(BaseHandler):
def post(self):
attachments = self.request.POST.getall('attachments')
_attachments = [{'content': f.file.read(),
'filename': f.filename} for f in attachments]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.