Tornado文件图片上传例子
文件上传的内容体在tornado.web.RequestHandler.request.files属性中,并且是以数组形式存放的。
使用临时文件存储时,在write完成后要记着把seek重置到文件头。要不然文件无法被读取。
再使用Image模块的thumbnail方法进行缩放时,resample=1作为重载渲染参数能够有效的使图片平滑,消除锯齿。
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy1283')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy1283>if self.request.files:
for f in self.request.files['postfile']:
rawname = f['filename']
dstname = str(int(time.time())) '.' rawname.split('.').pop()
thbname = "thumb_" dstname
# write a file
# src = "./static/upload/src/" dstname
# file(src,'w ').write(f['body'])
tf = tempfile.NamedTemporaryFile()
tf.write(f['body'])
tf.seek(0)
# create normal file
# img = Image.open(src)
img = Image.open(tf.name)
img.thumbnail((920,920),resample=1)
img.save("./static/upload/postfiles/" dstname)
# create thumb file
img.thumbnail((100,100),resample=1)
img.save("./static/upload/postfiles/" thbname)
tf.close()
您可能感兴趣的文章:
Tornado文件图片上传例子
python tornado如何启动和配置?
php图片上传代码一例
php文件上传代码大全(实例分享)
php图片上传并保存到MySql数据库的实现代码
Python web目前较火的三大框架
Js验证上传图片及扩展名的代码实例
php图片文件上传类(可自动生成缩略图)
php 多图片上传的简单例子(图文)
在ASP.NET中存取图片到数据库的示例