python - 检查来自传入请求的文件是否是图像
问题描述
我正在开发一个需要将图像上传到 S3 存储桶的应用程序。图片来自表单数据中的 HTTP 请求。我将图像作为对象( https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.put_object )直接上传到 S3 ,而不将它们保存在我的后端安全目的。但出于其他安全目的,有没有办法在将图像对象上传到 S3 之前检查我的图像对象是否真的代表图像?
解决方案
给定一个字节对象,以下解决方案为我解决了:
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')
推荐阅读
- python - 如何在 Python 和 Opencv 中检测八角形
- ajax - React - 对 API 的多个 Ajax 调用
- powerapps-canvas - 动态更改画布上列表框的绑定实体
- oop - 司机和汽车类:我将在哪里编写 drive() 方法?
- github - 是否有任何用于检测国际化问题的 Roslyn 分析器的自定义实现?
- unity3d - 如果我禁用对象网格渲染器会影响任何错误吗?
- regex - 如何使用正则表达式选择第一个空格之后的所有内容
- java - HttpOnly cookie 在 java + spring boot 中不起作用
- python - 获取matplotlib图上最近数据点的坐标
- react-native - 开发服务器返回错误码 500