@(黑线)不知道为什么,查到的总是默认jpg,我觉得这个不太好吧,我喜欢上传什么格式就保存什么格式的。。
import base64 import re import uuid def img_base64(img, path): img_info = img.split(',') pattern = re.compile(r'data:image/(.*?);base64') img_type = pattern.search(img_info[0]).group(1) if img_type == 'jpeg': img_type = 'jpg' file_name = f'{settings.MEDIA_ROOT}/{path}/{str(uuid.uuid4())}.{img_type}' data = base64.b64decode(img_info[1]) with open(file_name, 'wb') as f: f.write(data)
这是我写的一个上传服务器的代码,处理base64,具体在1:5行
众所周知,base64是,
data:image/png;base,oifofo4....
以逗号为界,前面是格式,后面是数据,base64解码也是后面的内容