amazon-web-services - 带有 multer-3S 的 AWS lambda 上传不受支持的图像文件。但本地服务器上传正确
问题描述
我尝试将图像上传到 AWS S3。在我的本地环境(与生产环境相同的代码)中,图像成功上传到 S3,我可以下载此图像。
但是通过 lambda 环境,可以很好地上传到 S3,但是这个图片无法下载。这张图片甚至比通过本地服务器上传的图片还要大。
我在两个环境之间使用相同的 IAM。这是不可触及的图片网址(lambda 上传)
这是可触摸的图片网址
请帮我。
ps,我的 s3 政策在这里
{
"Version": "2012-10-17",
"Id": "Policy1536755128154",
"Statement": [
{
"Sid": "Stmt1536755126539",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::elebooks-image/*"
},
{
"Sid": "Stmt1536827281212",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::elebooks-image"
}
]
}
我的服务器代码
export const bookCoverUploader = multer({
storage: multerS3({
s3: s3,
bucket: bookCoverBucket,
key: function (req, file, cb) {
let extension = path.extname(file.originalname);
cb(
null,
path.basename(file.originalname, extension) + Date.now().toString() + extension
);
},
acl: 'public-read-write'
})
});
解决方案
推荐阅读
- node.js - 使用 OAuth 2 的 Google 登录(带有服务器的移动应用程序)
- python - 如何在没有目标值的情况下将训练和测试拆分作为单独的数据框?
- mysql - 我如何通过连接产品和城市表获得最佳 mysql 分组结果?
- r - 堆叠和分组图表 ggplot2 结合所有条目
- python - for 循环和算术运算中大型 numpy 数组的内存使用问题
- html - :nth-child 伪类选择器在这里如何工作?
- excel - excel偏移量和超链接
- arrays - 通过 C 中的指针数组访问结构的成员
- ruby - Fastlane,调用多个平台
- reactjs - 来自 DRF 的 React Native 401 未经授权的错误