2016-10-11 9 views
1

私はsendgridからのメールを、express、multerというノードを使用してインバウンドwebhook経由で保存しようとしています。以下のsendgridsサイトの例があります:Sendgridインバウンドwebhookノードとマルチター

var express = require('express'); 
var multer = require('multer'); 
var upload = multer(); 
var app = express(); 

app.configure(function(){ 
    app.set('port', process.env.PORT || 3000); 
    app.use(multer()); 
}); 
app.post('/parse', upload.array('files', 3) function (req, res) { 
    var from = req.body.from; 
    var text = req.body.text; 
    var subject = req.body.subject; 
    var num_attachments = req.body.attachments; 
    for (i = 1; i <= num_attachments; i++){ 
    var attachment = req.files['attachment' + i]; 
    // attachment will be a File object 
    } 
}); 

var server = app.listen(app.get('port'), function() { 
    console.log('Listening on port %d', server.address().port); 
}); 

添付ファイル付きのメールを送信すると、このコードはエラーを送出します。エラーは「予期しないフィールド」です。 array.upload( "files"、3)の宣言は、問題がどこにあるのかを前提としています。誰かがこれを解決しましたか?

答えて

1

あなたはフィールド名が(documentation for any()

が表示されていない場合).ANYを(使用してこれを解決することができますここでのコード例では、

app.post('/parse', upload.any() function (req, res) { 
    var from = req.body.from; 
    var text = req.body.text; 
    var subject = req.body.subject; 
    var num_attachments = req.body.attachments; 
    for (i = 1; i <= num_attachments; i++){ 
    var attachment = req.files['attachment' + i]; 
    // attachment will be a File object 
    } 
}); 
です
関連する問題