Django学习(四)--上传并返回图片文件

上一篇:Django返回json数据
前端页面上传文件,后台接收并保存,然后返回到前端页面。
前端代码

<body>

<form method="post" action="/user/imghandler" enctype="multipart/form-data">
    {% csrf_token %}
    <input type="file" name="file">
    <br>
    <input type="submit">
</form>
</body>

后台代码

def imguploadform(request):
    # GET请求返回表单页面
    if request.method == 'GET':
        return render(request=request, template_name='img.html')
    # POST请求上传图片
    elif request.method == 'POST':
    	# 获取图片文件
        img_data = request.FILES['file']
        # 将图片文件写入本地
        with open('upload.jpg', 'wb+') as f:
            for i in img_data.chunks():
                f.write(i)
        # 返回另一个页面展示图片
        return render(request=request, template_name='showimg.html')

返回图片文件

def retimg(request):
    with open('upload.jpg', 'rb') as f:
        ret_img_data = f.read()
     # content_type为img图片类型
    return HttpResponse(ret_img_data, content_type='image/jpg')

前端显示图片页面

<body>
    <h1>图片展示</h1>
    <img style="display: inline-block" src="/user/img" width="40%" height="40%" alt="">
</body>

在这里插入图片描述
保存到后台
在这里插入图片描述

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值