저는 파이썬에서 요청 라이브러리를 사용하여 http를 사용하여 이미지 파일을 다운로드합니다. 파이썬에서 BytesIO를 사용하여 수신 된 컨텐트를 raw 바이트로 변환 한 다음 Pillow()를 사용하여이 원시 컨텐트를 jpeg 파일로 저장합니다.다운 로더에서 MIME 형식을 처리하는 올바른 방법
from PIL import Image
from io import BytesIO
rsp = requests.get(imageurl)
content_type_received = rsp.headers['Content-Type'] # mime type
binarycontent = BytesIO(rsp.content)
if content_type_received.startswith('image'): # image/jpeg, image/png etc
i = Image.open(binarycontent)
outfilename = os.path.join(outfolder,'myimg'+'.jpg')
with open(outfilename, 'wb') as f:
f.write(rsp.content)
rsp.close()
위의 코드에서 나는 MIME 유형에 관계없이 jpg로 강제 변환하고 있습니다. 이것은 내게 기발한 것처럼 보이지 않습니다. Python이나 Pillow 라이브러리에서 MIME 하위 유형 image/png, image/gif 등을 처리하는 표준 방법이 있습니까?
png, jpeg 등이 될 수있는 python 요청을 통해받은 이미지를 저장하려고합니다.이 방법으로 변환하지 말아야한다고 생각합니다. – hAcKnRoCk
네이티브 형식으로 저장 하시겠습니까? – pypypy
예. 소스와 같은 형식으로 저장하고 싶습니다 – hAcKnRoCk