2013-02-28 55 views
0

在python中爲gae提供不同的上傳處理程序的最佳方式是什麼?Appengine - 幾個上傳處理程序

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('/') 

此代碼工作正常,但隨時撥打Uploadhandler在URL /上傳

upload_url = blobstore.create_upload_url('/another_url') 

UPLOAD_URL仍然指向/上傳,所以最新最好的方法,從形式的重定向到上傳處理程序和從表單B到上傳處理程序B?

回答

0

你有沒有想到在網址開頭的「/ _ah /」? Afaik,create_upload_url總是指向類似/ _ah/upload/xxxx(即上傳到的URL),然後調用內部重定向到您提供的url(/ upload或/ another_url)。

+0

是的,我經過一些試驗和錯誤後感到困惑... – 2013-02-28 11:17:17

0

uploadhandler收到一個帶有上傳文件的回調。要傳遞其他信息(如webapp2會話數據),可以使用多重繼承並使用會話數據來確定要使用哪個重定向。

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

.... 
相關問題