python - 使用枕头调整上传到 s3 的图像大小
问题描述
我有chalice application
一个定义lambda_handler
,将使用 s3 事件通知触发。每次在我的 s3 存储桶中创建图像时,lambda_handler
都会调用该函数来创建缩略图。但是当您使用 将图像上传到 s3 时presigned_urls
,上传的文件没有文件扩展名。
s3 上的文件如下所示:
现在使用枕头时,会抛出错误unknown extension file
。
我该怎么办?
解决方案
您是否有权访问负责执行图像上传的功能?
如果您使用预签名的帖子来执行图像上传,您还应该在 object_name 参数中指定文件扩展名。
response = s3_client.generate_presigned_post(BUCKET_NAME,
"5eafba9fa31dd3bcc190a52.jpg",
Fields=fields,
Conditions=conditions,
ExpiresIn=expiration)
这将导致图像以正确的扩展名上传,因此允许任何后续调用具有正确的文件扩展名。
如果您只能访问您的 chalice 应用程序,并且可以保证文件扩展名始终属于某种类型,则可以在使用 Pillow 之前附加扩展名。
推荐阅读
- c - C的内存分配错误?定义未使用的变量时,代码有效;否则崩溃
- batch-file - 如何在批处理文件中查找和替换带有通配符的字符串?
- python-3.x - 将 DataFrame 列与其他 DataFrame 映射
- c# - 验证无效的 json 输入以避免外键约束错误
- r - 互联网被拒地点的 iPad 上的 R Shiny 应用程序
- javascript - 如何调整“工具提示”的位置,使其位于我的旁边
- reactjs - 如何在 React 组件中使用 Meteor.settings
- php - 在具有相同类的多个元素上使用 AJAX/jquery 向 MySQL 添加记录
- javascript - 从 Jest 测试快照中删除额外的换行符?
- oracle - 通过 SQL Server PolyBase 在 Oracle 上创建外部表时出错