0

我正在尝试在 Google App Engine 中读取和打印文件,但下面的代码似乎没有响应。我可以上传文件,我的期望是它只会打印文本,但它什么也不做。我想过添加一个提交按钮,但我不知道如何将提交与 python 打印链接。我怎样才能让它在命令上打印?

我在这里看到了 GAE 提供的示例,但我首先想把它全部放在一个页面上,其次我仍然不明白提交如何调用第二个页面。

import webapp2
from google.appengine.ext.webapp import util

class MainPage(webapp2.RequestHandler):
    #http://bukhantsov.org/2011/12/python-google-app-engine-calculator/
    def get(self):
        # build a list of operations
        self.response.out.write("""<html>
            <body>
            <form action='/' method='get' autocomplete='off'> 
            <input type='file' name='file'/><br/>
            #<input type='submit' name="test" value="submit">
            </form>
            </body>
            </html>""")
        file = self.request.get('file')
        self.response.out.write(file)
app = webapp2.WSGIApplication([('/', MainPage)], debug=True)

def main():
    util.run_wsgi_app(app)

if __name__ == '__main__':
    main()
4

1 回答 1

2

您的表单是使用 HTTP GET 方法发送的,但对于文件上传,您需要 POST。将其更改为:

method='get'

到:

method='post'

您还需要以不同的方法处理 POST 请求。POST 正文本身应该以self.request.POST. 所以你最终会得到类似的东西:

def post(self):
    file = self.request.POST['file']
    self.response.out.write(file)
于 2013-05-22T19:56:00.043 回答