我使用aws s3上传图像,但是我一直收到错误:缺少配置中的凭据,如果使用AWS_CONFIG_FILE,则设置AWS_SDK_LOAD_CONFIG=1。有几个帖子提到了同样的错误,但我无法解决。我使用的是一个带有所需私钥的.env环境文件。提前谢谢。
以下是代码:
const aws = require('aws-sdk');
const multer = require('multer');
const multerS3 = require('multer-s3');
const dotenv = require('dotenv');
dotenv.config();
const s3 = new aws.S3({});
aws.config.update({
secretAccesKey: process.env.S3_ACCES_KEY,
accessKeyId: process.env.S3_ACCES_KEY_SECRET,
region: "eu-west-3",
});
const fileFilter = (req, file, cb)=>{
if(file.mimetype === "image/jpeg" || file.mimetype === "image/png"){
cb(null, true);
}else{
cb(new Error("Invalid file type, file must be JPG or PNG."), false);
}
}
const upload = multer({
fileFilter,
storage: multerS3({
acl: "public-read",
s3: s3,
bucket: "projectoene",
acl: 'public-read',
metadata: function(req,file, cb){
cb(null, {fieldName: "Test"});
},
key: function(req,file,cb){
cb(null, Date.now().toString());
},
}),
});
module.exports = upload;发布于 2021-02-19 16:00:27
当从后端将图像上传到s3时,我得到了相同的错误消息。在不使用env的情况下,我将实际的aws值放在一起,所以效果很好。
https://stackoverflow.com/questions/64704688
复制相似问题