tornado 中读取上传的文件

tornado 中读取上传的文件
  • 1、在postman中向服务器发送文件
    • 使用post方法
    • 在body中发送文件
    • 选择form-data
    • 在key中选择file,并定义key名
    • 选择需要发送的文件
      在这里插入图片描述
  • 2、读取并保存上传的文件
    • 获取文件
      • 获取全部文件 files = self.request.files
      • 获取指定文件列表 imgs = files.get(‘img’, [])
      • 获取文件名 filename = imgs[0].get(‘filename’)
      • 获取文件内容 data = imgs[0].get(‘body’)
    • 保存文件
      • file = open(‘upload/%s’ % filename, ‘wb’)
      • file.write(data)
      • file.close()
import tornado
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.options import define, options, parse_config_file
from tornado.web import Application, RequestHandler, url

class UploadHandler(RequestHandler):
    def get(self):
        self.write('upload page')

    def post(self, *args, **kwargs):
        self.write('upload post page')
        files = self.request.files # 获取上传的文件
        imgs = files.get('img', [])
        for img in imgs:
            filename = img.get('filename')
            ext = img.get('content_type')
            data = img.get('body')

            # 保存文件
            file = open('upload/%s' % filename, 'wb') # 保存到upload文件夹中
            file.write(data)
            file.close()


define('port', type=int, default=10000, multiple=False)
define('db',multiple=True, type=str, default=[],)
parse_config_file('config')

url_list = [('/upload', UploadHandler)]

app = Application(url_list)
server = HTTPServer(app)
server.listen(options.port)
IOLoop.current().start()
  • 3、在form表单中要将enctype设置成为multipart/form-data
<form method=post action=/regrist enctype=multipart/form-data>
	<p>用户名:<input type=text name=uname></p>
	<p>密码:<input type=password name=upwd></p>
	<p>用户头像:<input type=file name=uimg></p>
	<p>
		<input type=submit value='提交'>
		<input type=reset value='重置'>
	</p>
</form>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值