2017-07-26 6 views
0

Je reçois cette erreur et je ne sais pas pourquoi il me donne cette erreur, j'ai vérifié tous les tutoriels/questions similaires liées à cela et rien n'a fonctionné. Quelqu'un peut-il m'aider s'il vous plaît me diriger dans la bonne direction.Erreur: Champ inattendu Amazon S3, Express, Multer, MulterS3

Merci,

Erreur:

champ inattendu

Erreur: champ inattendu
à makeError (C: \ Users \ Administrateur \ Desktop \ exprimer cc-maître \ node_modules \ multer \ lib \ make-error.js: 12: 13) à wrappedFileFilter (C: \ Utilisateurs \ Administrateur \ Bureau \ express-cc-master \ node_modules \ multer \ index.js: 40: 19)

Profile.js

var aws = require('aws-sdk') 
 
var express = require('express'); 
 
var router = express.Router(); 
 
var multer = require('multer') 
 
var multerS3 = require('multer-s3') 
 

 
    
 
aws.config.loadFromPath('./config.json'); 
 
aws.config.update({ 
 
    signatureVersion: 'v4' 
 
}); 
 
    
 
var s3 = new aws.S3({}); 
 

 
var upload = multer({ 
 
    storage: multerS3({ 
 
    s3: s3, 
 
    bucket: 'raytestbucket123', 
 
    acl: 'public-read', 
 
    metadata: function (req, file, cb) { 
 
     cb(null, {fieldName: file.fieldname}); 
 
    }, 
 
    key: function (req, file, cb) { 
 
     cb(null, Date.now()+file.originalname) 
 
    } 
 
    }) 
 
}) 
 

 
router.get('/profile', function(req, res){ 
 
    res.render('profile', { title: 'Profile' }); 
 

 
}); 
 

 

 
router.post('/profile', upload.single('file'), function(req, res, next){ 
 

 
    res.send(req.files); 
 
    console.log(req.files); 
 

 
}) 
 

 

 
module.exports = router;

Profile.hbs

{{> header }} 
 

 

 

 
    <body> 
 
    <form action="/profile" method="POST" enctype="multipart/form-data"> 
 
     File to upload to S3: 
 
     <input name="file" type="file"> 
 
     <br> 
 
     <input type="submit" value="Upload File to S3"> 
 
    </form> 
 
    </body> 
 

 
<div class="container"> 
 
<h2>Profile</h2> 
 
</div>

Répondre

0

Je trouve la problème moi-même.

Au lieu de

res.send (req.files); console.log (fichiers de demande);

Il devrait être

res.send (req.file); console.log (fichier req);