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+OpenCV人脸检测原理及示例详解
Oct 19 Python
详解python中的 is 操作符
Dec 26 Python
pandas获取groupby分组里最大值所在的行方法
Apr 20 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
[机器视觉]使用python自动识别验证码详解
May 16 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 Python
在pytorch中实现只让指定变量向后传播梯度
Feb 29 Python
超全Python图像处理讲解(多模块实现)
Apr 13 Python
python实现程序重启和系统重启方式
Apr 16 Python
Python 实现简单的客户端认证
Jul 29 Python
sublime3之内网安装python插件Anaconda的流程
Nov 10 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自定义函数返回多个值
2006/11/26 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
django模型中的字段和model名显示为中文小技巧分享
2014/11/18 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
Python subprocess模块详细解读
2018/01/29 Python
Python文本统计功能之西游记用字统计操作示例
2018/05/07 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
Python File(文件) 方法整理
2019/02/18 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
美国汽配连锁巨头Pep Boys官网:轮胎更换、汽车维修服务和汽车零部件
2017/01/14 全球购物
Watchshop德国:欧洲在线手表No.1
2019/06/20 全球购物
C#实现启动一个进程
2016/10/01 面试题
校园创业策划书
2014/01/14 职场文书
村委会换届选举方案
2014/05/03 职场文书
2014年图书室工作总结
2014/12/09 职场文书
python中使用 unittest.TestCase单元测试的用例详解
2021/08/30 Python