Python使用blob在GAE上上传多个文件

2024-04-25 23:25:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用下面的html表单在gae上上传两个文件

<form id="insert-budget-form" method="POST" action="" enctype="multipart/form-data" onsubmit="return validate()">
        Budget Book Name:<br> <input type = "text" id = "bookName" name = "bookName" placeholder = "E.g. Budget Book 2016"/>
        <br><br>
        File:<br> <input type = "file" id = "bookFile" name = "bookFile"/>
        <br><br>
        Highlight:<br> <input type="file" id = "highlightFile" name = "highlightFile"/>
        <br><br>
        <input type="date" id="bookDate"  name="bookDate"/>
        <input type="submit" id="insert-budget-sub" value="Insert"/>
    </form>

当用户选择第一个文件时,我使用ajax生成upload url,并使用jQuery将url作为一个动作分配给表单

现在,在我的服务器端,我正在获取第一个文件,如何获取第二个文件。以下是服务器端代码:

class BudgetBookUploadHandler(blobstore_handlers.BlobstoreUploadHandler):
    def post(self):

        bookName = self.request.POST.get('bookName')
        bookDatetime = self.request.POST.get('bookDate')

        dateParts = bookDatetime.split("-")

        date = datetime.date(int(dateParts[0]), int(dateParts[1]),     int(dateParts[2]))

        if bookName != "" and date:

            q = BudgetBook.query(BudgetBook.bookName == bookName)

            if q.get():
                self.redirect("/manage_budgetbook?success=dup")
            else:
                bookUpload = self.get_uploads()[0]
                highlightUpload = self.get_uploads()[1]


                budgetBook = BudgetBook(
                        bookBlobKey = bookUpload.key(),
                        highlightBlobKey = None,
                        bookName = bookName,
                        bookDate = date)

               budgetBook.put()

               self.redirect("/manage_budgetbook?success=true")

语法上getuploads()[1]用于获取并存储第二个文件是否正确?你知道吗


Tags: 文件namebrselfformidinputget