文件上传的内容体在tornado.web.RequestHandler.request.files属性中,并且是以数组形式存放的。
使用临时文件存储时,在write完成后要记着把seek重置到文件头。要不然文件无法被读取。
再使用Image模块的thumbnail方法进行缩放时,resample=1作为重载渲染参数能够有效的使图片平滑,消除锯齿。
代码如下 | 复制代码 |
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 # create thumb file tf.close() |
时间: 2024-09-29 17:18:49