zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Rational Rose 2003 逆向工程转换C++ / VC++ 6.0源代码成UML类图
    用VC实现特定编辑框上对回车键响应
    22.职责链模式
    21.策略模式
    20.状态模式
    19.解释器模式
    18.备忘录模式
    17.中介者模式
    16.观察者模式
    15.迭代器模式
  • 原文地址:https://www.cnblogs.com/fengff/p/12531474.html
Copyright © 2011-2022 走看看