一、前端代碼(將圖片轉換為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)
當然,也可以上傳到存儲服務器
我是用的是網易雲的對象存儲,所以直接把二進制丟給上傳文件函數處理