Tornado Documentation
http://www.v2ex.com/tornado/
Tornado on GitHub
https://github.com/facebook/tornado/
Tornado Gists
http://tornadogists.org/
sylvos
V2EX  ›  Tornado

请教 tornado 文件上传问题

  •  
  •   sylvos · Jan 5, 2017 · 10595 views
    This topic created in 3415 days ago, the information mentioned may be changed or developed.
    用下面的代码做文件上传,在自己电脑测试能够成功上传,到局域网其他电脑测试,显示 finished!了,但是没看到文件,请问前辈,是什么原因呢?该代码运行在 xp 系统上,上传文件夹已设置最高权限。
    import tornado.ioloop
    import tornado.web
    import shutil
    import os

    class UploadFileHandler(tornado.web.RequestHandler):
    def get(self):
    self.write('''
    <html>
    <head><title>Upload File</title></head>
    <body>
    <form action='file' enctype="multipart/form-data" method='post'>
    <input type='file' name='file'/><br/>
    <input type='submit' value='submit'/>
    </form>
    </body>
    </html>
    ''')

    def post(self):
    upload_path=os.path.join(os.path.dirname(__file__),'files') #文件的暂存路径
    file_metas=self.request.files['file'] #提取表单中‘ name ’为‘ file ’的文件元数据
    for meta in file_metas:
    filename=meta['filename']
    filepath=os.path.join(upload_path,filename)
    with open(filepath,'wb') as up: #有些文件需要已二进制的形式存储,实际中可以更改
    up.write(meta['body'])
    self.write('finished!')

    app=tornado.web.Application([
    (r'/file',UploadFileHandler),
    ])

    if __name__ == '__main__':
    app.listen(3000)
    tornado.ioloop.IOLoop.instance().start()
    2 replies    2017-01-05 13:26:15 +08:00
    kindjeff
        1
    kindjeff  
       Jan 5, 2017   ❤️ 1
    试一下这个代码能不能在 xp 上跑。
    sylvos
        2
    sylvos  
    OP
       Jan 5, 2017
    @kindjeff 可以呀,在我自己电脑都上传成功了的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3358 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 11:24 · PVG 19:24 · LAX 04:24 · JFK 07:24
    ♥ Do have faith in what you're doing.