ajax以base64上传图片到django
发布时间:2020-12-16 02:59:26 所属栏目:百科 来源:网络整理
导读:一、前端代码(将图片转换为base64) $(‘#input‘).change( function (event) { function loadImg(){ // 获取文件 var file = $("#input")[0].files[0 ]; // 创建读取文件的对象 var reader = new FileReader(); // 创建文件读取相关的变量 // var imgFile;
一、前端代码(将图片转换为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) 当然,也可以上传到存储服务器 我是用的是网易云的对象存储,所以直接把二进制丢给上传文件函数处理 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |