您的位置:首页 > 编程语言 > Go语言

Django上传图片用PIL生成缩略图

2009-03-30 18:12 597 查看
网上搜过几个版本,一是乱写,二是复杂。容易出错有两个地方:

一是不知道怎么从request中读取图片文件,request.FILES['file'](file是你上传输入框的名称)就是一个文件,有兴趣可以查看/usr/lib/python2.5/site-packages/django/core/files/uploadedfile.py,就可以知道了。直接操可以了。有些人存本地,再打开,或者又导入StringIO中,属于多此一举。

二是不知道怎么形成缩略图。其实超级简单,PIL的文档Image模块第二个例子就是讲生成缩略图的。image.thumbnail就可以了。参考:

http://www.pythonware.com/library/pil/handbook/image.htm

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.")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: