簡體   English   中英

在webapp2 / GAE中上傳文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM