python tornado 图片base64、流的 两种方式上传到前端界面。

您所在的位置:网站首页 python做前端 python tornado 图片base64、流的 两种方式上传到前端界面。

python tornado 图片base64、流的 两种方式上传到前端界面。

#python tornado 图片base64、流的 两种方式上传到前端界面。| 来源: 网络整理| 查看: 265

写这篇文章是因为涉及到大量的图片上传,两种不通的方式和其效果,代码如下:

base64上传前端显示图片

代码结构如下: 在这里插入图片描述 只是简单的测试莫嫌弃代码low。 前端界面代码base64.html 的展示

index {% for each_img in total_img%} {% end %}

后端逻辑代码work.py的展示

import os import base64 import tornado.web import tornado.ioloop from tornado.web import RequestHandler from tornado.options import define, options, parse_command_line define('port', default=9951, type=int, ) def base64_img(): """ 获取所有的文件的base64,以列表的形式返回 :return: """ img_base64 = [] source_path = r'D:\dir' img_name_list = os.listdir(source_path) for each_img in img_name_list: each_img_name = os.path.join(source_path, each_img) with open(each_img_name, 'rb') as f: base64_data = base64.b64encode(f.read()) img_base64.append(base64_data) return img_base64 class Base64Handler(RequestHandler): def get(self): total_img = base64_img() self.render("base64.html", total_img=total_img) if __name__ == '__main__': parse_command_line() app = tornado.web.Application( [(r"/base64", Base64Handler), ], debug=True, default_host="0.0.0.0", template_path=os.path.join(os.path.dirname(__file__), "templates") ) app.listen(options.port) tornado.ioloop.IOLoop.instance().start()

很简单的上传方式,但是在实际开发中,大量的图片是不可采取这类方法的,因为前端源码中占的资源太多了,毕竟base64的方式,看源码如下: 在这里插入图片描述 这还仅仅是一张图片的路径,可想而知在实际开发中,加载就费不少时间。不可采取。

流的方式上传图片

前端界面代码show.html 的展示

index {% for each_img in total_img%}


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3