tornado怎么接收文件
时间: 2024-05-08 12:17:31 浏览: 9
Tornado是基于Python的Web框架,可以通过HTTP请求来接收文件。下面是一个基本的文件上传示例:
```python
import tornado.ioloop
import tornado.web
class UploadHandler(tornado.web.RequestHandler):
def post(self):
# 获取上传的文件
file = self.request.files.get('file')[0]
# 保存到本地
with open(file['filename'], 'wb') as f:
f.write(file['body'])
# 返回上传成功的消息
self.write('Upload success')
if __name__ == '__main__':
app = tornado.web.Application([
(r'/upload', UploadHandler),
])
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
```
在这个示例中,我们定义了一个`UploadHandler`类来处理文件上传请求。当接收到POST请求时,我们首先获取上传的文件,然后将其保存到本地。最后,我们返回上传成功的消息。
要测试该示例,请使用以下命令在本地启动Tornado服务器:
```
python app.py
```
然后,您可以使用curl或其他HTTP客户端向服务器发送文件上传请求:
```
curl -X POST -F "file=@/path/to/file" http://localhost:8888/upload
```
在这个命令中,我们使用`-F`选项将文件作为multipart/form-data类型的表单数据发送到服务器。服务器将接收该文件并将其保存到本地。