본문 바로가기
Error

OSError: cannot write mode RGBA as JPEG

by reo.l 2021. 7. 8.

jpg 파일을 열고 BytesIO에 save 하는 과정에서 발생한 오류이다. 

jpg는 기본적으로 투명도를 지원하지 않는 다고 한다. RGBA의 A(alpha)가 투명도를 담당하는 부분인데 jpg의 경우에는 이 A를 뺀 RGB로 convert 해주어야 한다고 한다. 

 

im=Image.open(newpath+'/'+j)
if j_[-1] == 'jpg' or j_[-1]=='JPG':
    im=im.convert('RGB')
    j_[-1]='jpeg'
im.save(buffer, j_[-1])

 

이렇게 하니 해결됐다.

댓글