django上传图片并生成缩略图方法示例


Posted in Python onDecember 11, 2017

django 处理上传图片生成缩略图首先要注意form标签上必须有enctype="multipart/form-data"属性,另外要装好PIL库, 然后就很简单了,如下是实例代码:

upload.html

<div id="uploader"> 
  <form id="upload" enctype="multipart/form-data" action="/ajax/upload/" method="post"> 
    <input id="file" name="file" type="file"> 
    <input type="submit" value="Upload"> 
  </form> 
</div>

view.py

# -*- coding: utf-8 -*- 
from django.http import HttpResponse 
import Image 

def upload(request):   
  reqfile = request.FILES['file'] 
  image = Image.open(reqfile) 
  image.thumbnail((128,128),Image.ANTIALIAS) 
  image.save("/home/lhb/1.jpeg","jpeg") 
  return HttpResponse("success.")

下面介绍下生成缩略图质量差的解决办法。

使用python的PIL库的thumbnail方法生成缩略图的质量很差,需要使用resize方法来生成缩略图,并制定缩略图的质量,如下代码:

image = image.resize((x, y), Image.ANTIALIAS)
quality_val = 90
image.save(filename, 'JPEG', quality=quality_val)

总结

以上就是本文关于django上传图片并生成缩略图方法示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python程序语言快速上手教程
Jul 18 Python
Python操作串口的方法
Jun 17 Python
python中的错误处理
Apr 10 Python
Django进阶之CSRF的解决
Aug 01 Python
python模糊图片过滤的方法
Dec 14 Python
Python子类继承父类构造函数详解
Feb 19 Python
python scatter函数用法实例详解
Feb 11 Python
对Python 字典元素进行删除的方法
Jul 31 Python
深入了解Python装饰器的高级用法
Aug 13 Python
python两种注释用法的示例
Oct 09 Python
Python request post上传文件常见要点
Nov 20 Python
Python+OpenCV实现图片中的圆形检测
Apr 07 Python
使用Python的package机制如何简化utils包设计详解
Dec 11 #Python
python timestamp和datetime之间转换详解
Dec 11 #Python
Python时间戳使用和相互转换详解
Dec 11 #Python
python的exec、eval使用分析
Dec 11 #Python
Python中eval带来的潜在风险代码分析
Dec 11 #Python
Python验证文件是否可读写代码分享
Dec 11 #Python
Python文件操作基本流程代码实例
Dec 11 #Python
You might like
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
PHP 转义使用详解
2013/07/15 PHP
smarty简单分页的实现方法
2014/10/27 PHP
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
基于JS设计12306登录页面
2016/12/28 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
小程序开发之模态框组件封装
2020/04/23 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
2020/05/10 Javascript
详解js中的原型,原型对象,原型链
2020/07/16 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
Python 字符串与数字输出方法
2018/07/16 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
关键字throw与throws的用法差异
2016/11/22 面试题
给女儿的表扬信
2014/01/18 职场文书
搞笑的获奖感言
2014/08/16 职场文书
银行委托书范本
2014/09/28 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
幼儿园辞职信
2015/05/13 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
初三语文教学反思
2016/03/03 职场文书
JUnit5常用注解的使用
2021/07/02 Java/Android