ajax以base64上传图片到django

1、前端代码(将图片转换为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(); });

2、django代码python

一、接收到前端传来的base64后须要作一些处理django

这个是请求中携带的base64图片,这样的base64放在前端能够直接使用,可是python中不能够服务器

咱们须要将data:image/jpeg;base64,这段删除掉,能够直接使用split(',')函数

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

import base64 data = base64.b64decode(b64_data)

解码后能够保存在本地spa

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

固然,也能够上传到存储服务器3d

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

相关文章
相关标签/搜索