Django项目关于图片的上传,展示,存储,更改

1 头像的上传展示

       首先,当用户上传头像之后,提交之前,会在页面进行展示头像,这一步是在前端操作完成的,因为没有提交,所以和后端没有关系,

        用到的是 js中的文件阅读器对象,具体用法看下面代码

 <div class="form-group">
        <label for="myfile">上传头像
            {% load static %}
        <img src="{% static 'img/default.png' %}" id="myimg" alt="" width="80" style="margin-left:10px">
          </label>
          <input type="file" name="avatar" id="myfile" style="display:none">
 </div>
// 此时,页面展示的是默认头像
··························

// 这里, 为(id=“myfile”) 绑定一个事件,当改变后就执行下列代码。

$('#myfile').change(function(){
        //文件阅读器对象
        // 1 先生成一个文件阅读器对象
        let myFileReaderObj = new FileReader();
        // 2 获取用户上传的头像文件
        let fileObj =$(this)[0].files[0];
        // 3 将文件对象交给阅读器对象读取
        myFileReaderObj.readAsDataURL(fileObj) //异步操作,IO操作,不会等到文件阅读完毕,再走下一步
        // 4 利用文件阅读器 将文件展示到前端页面 修改img的src属性, 将图片展示到前端。
        //等待文件阅读器加载完毕后再执行
        myFileReaderObj.onload=function (){
            $('#myimg').attr('src',myFileReaderObj.result) //将图片文件读取出来放到src属性后面
        }
    })

2 头像文件如何传递到后端,交由后端保存?

由于头像是包含在form组件中的,既包含键值对又包含文件,所以需要用到FormData对象。打包键值对数据和

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值