Django web开发 处理Ios上传图片旋转的问题

需求说明:ios系统再上传图片时 有时候保存到后台时是旋转过的,这时候就需要后台做下处理

1,

def Compression(fileName):
    logger.info("图片路径%s"%len(fileName))
    exif, img = get_exif_data(fileName)
    orientation = "Orientation"
    if orientation in exif:
      if exif[orientation] == 3:
          img = img.rotate(180, expand=True)
      elif exif[orientation] == 6:
          img = img.rotate(270, expand=True)
      elif exif[orientation] == 8:
          img = img.rotate(90, expand=True)
    timestamp = str(int(time.time()))
    img.save("./static/upload/%s%s"%(timestamp,fileName.name))

2,

from PIL import Image
from PIL.ExifTags import TAGS

def get_exif_data(fname):
    ret = {}
    img = Image.open(fname)
    try:
        if hasattr( img, '_getexif' ):
            exifinfo = img._getexif()
        else:
            exifinfo=None
        if exifinfo != None:
            for tag, value in exifinfo.items():
                decoded = TAGS.get(tag, tag)
                ret[decoded] = value
    except IOError:
        print('IOERROR ' + fname)
    return ret,img

猜你喜欢

转载自blog.csdn.net/QQ1752506968/article/details/85338115
今日推荐