Django 如何在不使用lib imghdr的情况下提取base64扩展

Django 如何在不使用lib imghdr的情况下提取base64扩展,django,django-rest-framework,base64,imghdr,Django,Django Rest Framework,Base64,Imghdr,我有一个非常适合接收base64图像的视图。我的问题是,在一些罕见的情况下,它无法识别发送的jpg图像。它看起来像None 查看互联网,我发现问题出在libimghdr。我尝试使用OS lib来提取扩展,甚至使用lib枕头,但我做不到 有人有什么建议吗 以下是我如何使用imghdr的示例: def get_file_扩展名(self、文件名、解码文件): 导入imghdr 扩展名=imghdr.what(文件名,解码文件) 如果扩展名==“jpeg”: extension=“jpg” 返回分机

我有一个非常适合接收base64图像的视图。我的问题是,在一些罕见的情况下,它无法识别发送的jpg图像。它看起来像
None

查看互联网,我发现问题出在libimghdr。我尝试使用OS lib来提取扩展,甚至使用lib枕头,但我做不到

有人有什么建议吗

以下是我如何使用imghdr的示例:

def get_file_扩展名(self、文件名、解码文件):
导入imghdr
扩展名=imghdr.what(文件名,解码文件)
如果扩展名==“jpeg”:
extension=“jpg”
返回分机

您可以编写一个简单的实用函数来提取扩展名

def base64_ext(b64str):
    # b64str format example: 'data:image/jpeg;base64, LzlqLzRBQ...'
    fmt, imgstr = b64str.split(';base64,') 
    ext = fmt.split('/')[-1]
    return ext
def base64_分机(b64str): #b64str格式示例:“数据:图像/jpeg;base64,LzlqLzRBQ…' fmt,imgstr=b64str.split(';base64') ext=fmt.split('/')[-1] 返回分机
您可以编写一个简单的实用函数来提取扩展名

def base64_ext(b64str):
    # b64str format example: 'data:image/jpeg;base64, LzlqLzRBQ...'
    fmt, imgstr = b64str.split(';base64,') 
    ext = fmt.split('/')[-1]
    return ext
def base64_分机(b64str): #b64str格式示例:“数据:图像/jpeg;base64,LzlqLzRBQ…' fmt,imgstr=b64str.split(';base64') ext=fmt.split('/')[-1] 返回分机