python 将图片转为base64编码

  • 在有些时候需要将图片转为数据流的形式后存入数据库中,这里就需要将图片转化为其他形式,这里是直接转化为base64编码的形式。
  • 代码如下:
    def get_img_base64(img_file):
      with open(img_file, 'rb') as infile:
          base64_data = base64.b64encode(infile.read())
          img = str(base64_data)[2:-1]
          return img
    
  • 因为以二进制的编码读出图片数据类型是bytes,所以将数据去头去尾存入数据库。
  • 从数据库中读出图片同样的道理转回去就可以了。
  • 代码如下:
    def strToImage(str, filename):
      image_str = str.encode('ascii')
      image_byte = base64.b64decode(image_str)
      image_json = open(filename, 'wb')
      image_json.write(image_byte)
      image_json.close()