【问题标题】:Appengine - Several upload handlersAppengine - 几个上传处理程序
【发布时间】:2013-02-28 10:12:07
【问题描述】:

在 python 中为 gae 设置不同的上传处理程序的最佳方式是什么?

class MainHandler(webapp.RequestHandler):
    def get(self, test):
        self.response.out.write(test)
        upload_url = blobstore.create_upload_url('/upload')
        self.response.out.write('<html><body>')
        self.response.out.write('<form action="%s" method="POST" enctype="multipart/form-data">' % upload_url)
        self.response.out.write("""Upload File: <input type="file" name="file"><br>         <input type="submit" name="submit" value="Submit"> </form></body></html>""")



class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
    def post(self):
        upload_files = self.get_uploads('file')
        blob_info = upload_files[0]
        self.redirect('/')

此代码运行良好,但始终在 url /upload 处调用 Uploadhandler

 upload_url = blobstore.create_upload_url('/another_url') 

upload_url 仍然指向 /upload,那么从表单 A 重定向到上传处理程序 A 以及从表单 B 重定向到上传处理程序 B 的最佳方式是什么?

【问题讨论】:

    标签: python google-app-engine file-upload image-uploading


    【解决方案1】:

    您是否错过了网址开头的“/_ah/”? Afaik,create_upload_url 总是指向类似 /_ah/upload/xxxx 的东西(这是您上传到的 url),然后调用内部重定向到您提供的 url(/upload 或 /another_url)。

    【讨论】:

      【解决方案2】:

      uploadhandler 收到一个带有上传文件的回调。要传递其他信息,例如 webapp2 会话数据,您可以使用多重继承并使用会话数据来找出要使用的重定向。

      class UploadHandler(blobstore_handlers.BlobstoreUploadHandler, webapp2.RequestHandler):
      
      ....
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-20
        • 2020-10-09
        • 2013-04-23
        • 1970-01-01
        • 2011-05-26
        • 2013-11-30
        • 2013-01-29
        相关资源
        最近更新 更多