我已经从aws educate创建了aws帐户。我正在尝试将图片上传到AWS s3。但是我收到访问被拒绝的错误。
代码:
const multer = require('multer');
const multerS3 = require('multer-s3');
const config = require('../config');
aws.config.update({
secretaccessKey: config.AWS_SECRET_accESS_KEY,accessKeyId: config.AWS_accESS_KEY_ID,region: 'us-east-1'
});
const s3 = new aws.S3();
const fileFilter = (req,file,cb) => {
if (file.mimetype === 'image/jpeg' || file.mimetype === 'image/png' || file.mimetype === 'image/jpg') {
cb(null,true);
} else {
cb(new Error('Invalid file type,only JPEG and PNG is allowed!'),false);
}
}
const upload = multer({
fileFilter,storage: multerS3({
acl: 'private',s3,bucket: 'acc-partner',metadata: function (req,cb) {
cb(null,{
fieldName: 'TESTING_MetaDATA'
});
},key: function (req,Date.now().toString())
}
})
});
module.exports = upload;
const express = require('express');
const router = express.Router();
const UserCtrl = require('../controllers/user');
const upload = require('../services/image-upload');
const singleUpload = upload.single('image');
router.post('/image-upload',UserCtrl.authMiddleware,function(req,res) {
singleUpload(req,res,function(err) {
if (err) {
return res.status(422).send({errors: [{title: 'Image Upload Error',detail: err.message}]});
}
return res.json({'imageUrl': req.file.location});
});
});
module.exports = router;
邮递员错误
{
"errors": [
{
"title": "Image Upload Error","detail": "access Denied"
}
]
}