gpt4 book ai didi

node.js - 使用 multer-s3 nodejs 将图像上传到亚马逊 s3

转载 作者:IT老高 更新时间:2023-10-28 23:13:06 28 4
gpt4 key购买 nike

我正在尝试使用 multer-s3 将图像上传到 amazon s3,但出现此错误:

TypeError: Expected opts.s3 to be object node_modules/multer-s3/index.js:69:20

这是我的服务器代码:

var upload = multer({
storage: s3({
dirname: '/',
bucket: 'bucket',
secretAccessKey: 'key',
accessKeyId: 'key',
region: 'us-west-2',
filename: function (req, file, cb) {
cb(null, file.originalname);
}
})
});

app.post('/upload', upload.array('file'), function (req, res, next) {
res.send("Uploaded!");
});

为什么会出现这个错误?

最佳答案

[2022 年 3 月更新]到目前为止,它运行良好,现在还显示上传的文件公共(public) URL。

完成并工作Node Cheat | Upload to s3 using multer-s3可用。

代码:

var express = require('express'),
aws = require('aws-sdk'),
bodyParser = require('body-parser'),
multer = require('multer'),
multerS3 = require('multer-s3');

aws.config.update({
secretAccessKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
accessKeyId: 'XXXXXXXXXXXXXXX',
region: 'us-east-1'
});

var app = express(),
s3 = new aws.S3();

app.use(bodyParser.json());

var upload = multer({
storage: multerS3({
s3: s3,
acl: 'public-read',
bucket: 'bucket-name',
key: function (req, file, cb) {
console.log(file);
cb(null, file.originalname); //use Date.now() for unique file keys
}
})
});

//open in browser to see upload form
app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');//index.html is inside node-cheat
});

//use by upload form
app.post('/upload', upload.array('upl', 25), function (req, res, next) {
res.send({
message: "Uploaded!",
urls: req.files.map(function(file) {
return {url: file.location, name: file.key, type: file.mimetype, size: file.size};
})
});
});

app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});

完整的 repo :

克隆 Node 作弊 express_multer_s3 ,运行 node app,然后运行 ​​npm install express body-parser aws-sdk multer multer-s3

乐于助人!

关于node.js - 使用 multer-s3 nodejs 将图像上传到亚马逊 s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494050/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com