Django实现从前端form表单上传图片文件后台保存

1、前端基础

  1.form表单上传文件必须使用post方式,设置method="post"

  2.form表单上传文件时,需要设置enctype="multipart/form-data"

2、form表单设置

<!--使用bootstrap样式-->
<form class="form-horizontal" method="post" action="/commodityAdd/" enctype="multipart/form-data">
    <div class="form-group">
        <label for="inputImage" class="col-sm-2 control-label">标志图片</label>
        <div class="col-sm-10">
            <input type="file" name="commodityImage" id="inputImage">
            <p class="help-block">请传入800X800图片.</p>
        </div>
    </div>
    <div class="form-group">    
        <button type="submit" class="btn btn-danger">提 交</button>
    </div>
</form>

3、Django后台接收文件

  1.request.FILES  ---->存放所有文件的大字典

  2.request.FILES.get("commodityImage",None)  ---->获取form表单中name="commodityImage"的文件输入框中上传的文件

def commodityAdd(request):
    commodity_image = request.FILES.get("commodityImage", None) #获取图片,此时该文件格式为二进制
    with open("picture.jpg",mode="wb") as image_file:  #使用二进制的方式打开新建文件,不改变文件,直接写入
        for content in commodity_image:
            image_file.write(content)
return render(request, "commodityAdd.html")

猜你喜欢

转载自www.cnblogs.com/yuncaige/p/12357846.html