zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python 图片和base64互相转换

Python转换 图片 base64 互相
2023-09-14 08:58:39 时间

 

一、从前端接收图片对象,将其转换为base64

第一种:(直接写入图片本地路径)

 

1 image_path = 'C:\\Users\\Administrator\\Desktop\\test2.jpg'
2 with open(image, 'rb') as f:
3    image = f.read()
4    image_base64 = str(base64.b64encode(image), encoding='utf-8')

 

 第二种:(从页面form传入图片)

复制代码
1 image = request.FILES.get('product_img', '')
2 if image:
3    image_byte = image.read()
4    # 将byte转换成str,再转换成base64,去掉首部
5    image_base64 = str(base64.b64encode(image_byte))[2:]
复制代码


二、前端上传图片base64,后台保存图片
复制代码
 1 # 前端上传的base64,存放在django的媒体文件库中
 2 if avatar_url:
 3     b64_data = avatar_url.split(';base64,')[1]
 4     data = base64.b64decode(b64_data)
 5     image_url = os.path.join(MEDIA_ROOT_OLD, 'common/head_img/%s.jpg' % int(time.time()))
 6     with open(image_url, 'wb') as f:
 7         f.write(data)
 8       # 截取media路径,存放在字段中
 9         image_url = image_url.split("project_name")[1].replace('\\', '/')[1:]
10         # user对象
11         user.avatar_url = image_url