请教 tornado 文件上传问题

2017-01-05 11:59:03 +08:00
 sylvos
用下面的代码做文件上传,在自己电脑测试能够成功上传,到局域网其他电脑测试,显示 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()
8252 次点击
所在节点    Tornado
2 条回复
kindjeff
2017-01-05 12:09:13 +08:00
试一下这个代码能不能在 xp 上跑。
sylvos
2017-01-05 13:26:15 +08:00
@kindjeff 可以呀,在我自己电脑都上传成功了的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/332360

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX