zoukankan      html  css  js  c++  java
  • ajax以base64上传图片到django

    一、前端代码(将图片转换为base64)

    $('#input').change(function(event) {
        function loadImg(){
                //获取文件
                var file = $("#input")[0].files[0];
                //创建读取文件的对象
                var reader = new FileReader();
                //创建文件读取相关的变量
                // var imgFile;
                //为文件读取成功设置事件
                reader.onload=function(e) {
                    imgFile = e.target.result;
                };
            //正式读取文件
            reader.readAsDataURL(file);
           }
        loadImg();
    });

    二、django代码

    1、接收到前端传来的base64后需要做一些处理

    这个是请求中携带的base64图片,这样的base64放在前端可以直接使用,但是python中不可以

    我们需要将data:image/jpeg;base64,这段删除掉,可以直接使用split(',')

    2、去掉不需要的部分后,使用base64解编码

    import base64
    data = base64.b64decode(b64_data)

    解码后可以保存在本地

    with open('test.jpeg', 'wb') as f:
        f.write(data)

    当然,也可以上传到存储服务器

    我是用的是网易云的对象存储,所以直接把二进制丢给上传文件函数处理

  • 相关阅读:
    卓京---java基础2
    GuessFist
    猜拳 GuessFist
    GuessNum
    GuessNumber
    JetBrains全系列软件激活教程激活码以及JetBrains系列软件汉化包
    两个class 之间要空两行
    ImageField 字段的使用
    max_length 属性
    null,blank,default
  • 原文地址:https://www.cnblogs.com/wangqj1996/p/10193030.html
Copyright © 2011-2022 走看看