ajax以base64上传图片到django

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

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

二、django代码
1、接收到前端传来的base64后需要做一些处理
ajax以base64上传图片到django
文章图片

这个是请求中携带的base64图片,这样的base64放在前端可以直接使用,但是python中不可以
【ajax以base64上传图片到django】我们需要将data:image/jpeg; base64,这段删除掉,可以直接使用split(',')
2、去掉不需要的部分后,使用base64解编码
import base64 data = https://www.it610.com/article/base64.b64decode(b64_data)

解码后可以保存在本地
with open('test.jpeg', 'wb') as f: f.write(data)

当然,也可以上传到存储服务器
我是用的是网易云的对象存储,所以直接把二进制丢给上传文件函数处理
转载于:https://www.cnblogs.com/wangqj1996/p/10193030.html

    推荐阅读