@(黑线)不知道为什么,查到的总是默认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解码也是后面的内容