
from PIL import Image
def UploadImage(request):
if request.method == 'POST':
content = request.FILES['ImageField']
try:
img = Image.open(content)
#img.thumbnail((500,500),Image.ANTIALIAS)#对图片进行等比缩放
img.save("abv.png","jpg")#保存图片
except Exception,e:
return HttpResponse("Error %s"%e)
return HttpResponse("ok")
return HttpResponse("error")
测试html:
<body>
<div class="file-box">
<form action="http://127.0.0.1:8000/UploadImage" method="post" enctype="multipart/form-data">
<input type='text' name='textfield' id='textfield' class='txt' />
<input type="file" name="ImageField" class="file" id="ImageField" size="28" onchange="document.getElementById('textfield').value=this.value" />
<input type="submit" name="submit" class="btn" value="upload" />
</form>
</div>
</body>
Django的静态文件有两类,分别为 static 和 media 。
增加 MEDIA_URL 和 MEDIA_ROOT
导入:
修改urlpatterns:
在本地调试需要将 setting.py 文件中, DEBUG 设置为 True
注意: upload_to 选项
使用nginx处理django静态文件, nginx.conf 文件 media 配置如下:
在做接口自动化时,有时会遇到图片上传的接口,这时Content-Type就不是application/json。
这里使用DRF编写一个图片上传接口,并测试。
一、编写图片上传接口
首先创建一个我们希望用来存放文件的文件夹,并且在settings.py中配置路径:
在项目的urls.py中配置media的路由:
在应用的models.py中创建模型:
并且在serializers.py中创建序列化:
编写视图views.py:
给应用的urls.py配置路由:
最后我们测试一下:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)