Utils.js:
getS3SignUrl: function( uri ){ return s3_client.getSignedUrl('putObject',{Bucket:config.aws.bucket,Key:uri,ACL :"public-read"}) }
var bodyParser = require('body-parser'); var upload = require('multer')(); var utils = require('../service/utils.js'); router.post('/edit-profile', upload.single('newfile'), function(req, res) { console.log(req.file); }); });
在控制台中,我没有定义,但当我使用调试器和req时。body,我明白了:
所以,似乎我在req中有它。尸体,但我怎么能从这里拿走?
在multer旁边,我安装并包括了multerS3模块:
var multerS3 = require('multer-s3');
然后,我配置了它。一、 另外,用我申请的表格进行了测试 enctype="multipart/form-data"
enctype="multipart/form-data"
router.post('/ceva', multer({ storage: multerS3({ s3: s3_client, bucket: "****", acl: '**', metadata: function (req, file, cb) { cb(null, {fieldName: file.fieldname}); }, key: function (req, file, cb) { cb(null, "users/10/1"); } }) }).single('newfile'), function(req, res) { console.log(req.files); res.send('da'); });
因此,文件已成功上载到S3存储上。