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

URL の先頭にある「/_ah/」を見逃していませんか? 私の知る限り、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 に答える