0

在 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 的最佳方式是什么?

4

2 回答 2

0

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

于 2013-02-28T10:59:22.320 回答
0

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

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

....
于 2013-02-28T12:28:05.543 回答