python 图片和base64互相转换


一、从前端接收图片对象,将其转换为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
 

 

 

 

 

 

 




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM