首页 > 解决方案 > 检查来自传入请求的文件是否是图像

问题描述

我正在开发一个需要将图像上传到 S3 存储桶的应用程序。图片来自表单数据中的 HTTP 请求。我将图像作为对象( https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.put_object )直接上传到 S3 ,而不将它们保存在我的后端安全目的。但出于其他安全目的,有没有办法在将图像对象上传到 S3 之前检查我的图像对象是否真的代表图像?

标签: pythonpython-3.xamazon-web-servicesamazon-s3boto3

解决方案


给定一个字节对象,以下解决方案为我解决了:

def validate_image(bytes_object):
    import io
    from PIL import Image
    try:
        Image.open(io.BytesIO(bytes_array))
    except OSError:
        print('Not a valid image')

推荐阅读