#django #django-rest-framework #base64 #imghdr
#django #django-rest-framework #base64 #imghdr
Вопрос:
У меня есть представление, которое идеально подходит для получения изображений base64. Моя проблема в том, что в некоторых редких случаях он не распознает отправленное изображение в формате jpg. Похоже None
.
Посмотрев в Интернете, я увидел, что проблема заключается в библиотеке imghdr. Я пытался использовать OS lib для извлечения расширения и даже использовать lib pillow, но не смог.
У кого-нибудь есть какие-нибудь советы?
Вот пример того, как я использую imghdr:
def get_file_extension(self, file_name, decoded_file):
import imghdr
extension = imghdr.what(file_name, decoded_file)
if extension == "jpeg":
extension = "jpg"
return extension
Ответ №1:
Вы можете написать простую служебную функцию для извлечения расширения
def base64_ext(b64str):
# b64str format example: 'data:image/jpeg;base64, LzlqLzRBQ...'
fmt, imgstr = b64str.split(';base64,')
ext = fmt.split('/')[-1]
return ext