代码之家  ›  专栏  ›  技术社区  ›  Assaf Lavie

将HTML文件上载到Google应用程序引擎-获取405

  •  3
  • Assaf Lavie  · 技术社区  · 14 年前

    我正在尝试使用python做一个简单的echo应用程序。我想提交一个带有post表单的文件并将其回送(一个HTML文件)。

    这里是 handlers 我使用的山药部分:

    handlers:
    - url: /statics
      static_dir: statics
    
    - url: .*
      script: main.py
    

    这基本上就是Hello World的例子 main.py 我添加了一个目录来存放静态HTML表单文件。这是HTML输入 statics/test.html :

    <form action="/" enctype="multipart/form-data" method="post">
        <input type="file" name="bookmarks_file">
        <input type="submit" value="Upload">
    </form>
    

    处理程序如下所示:

    #!/usr/bin/env python
    from google.appengine.ext import webapp
    from google.appengine.ext.webapp import util
    
    class MainHandler(webapp.RequestHandler):
      def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write(self.request.get('bookmarks_file'))
    
    def main():
      application = webapp.WSGIApplication([('/', MainHandler)],
                                           debug=True)
      util.run_wsgi_app(application)
    
    if __name__ == '__main__':
      main()
    

    但是,我在发布文件时收到一个错误405。怎么会?

    1 回复  |  直到 14 年前
        1
  •  9
  •   Daniel Vassallo    14 年前

    您正在使用post方法提交表单,但实现了 get() 处理程序而不是 post() 处理程序。改变 def get(self): def post(self): 应该修复HTTP 405错误。