2017-07-04 3 views
-1

J'essaie de rendre une vue après le traitement du fichier téléchargé avec Multer. Je suis une erreurAfficher le rendu Express après traitement/POST

Unhandled promise rejection (rejection id: 1): TypeError: res.redirect is not a function

Qu'est-ce que je comprends mal? également l'application ne font jamais le rendu sur botom à 'step2.ejs'

app.post('/vision/upload', upload.single("upl"), function(req, res) { 
var file = req.file; 
filePath = req.file.path; 
const req2 = new vision.Request({ 
    image: new vision.Image(file), 
    features: [ 
     new vision.Feature('DOCUMENT_TEXT_DETECTION', 10), 
    ] 
}); 
vision.annotate(req2).then((res) => { 
    p1 = JSON.stringify(res.responses); 
p1up = p1.toUpperCase(); 
occurrencesText = new Occurrences(p1up); 
console.log(occurrencesText); 
connection.query(queryString, function(err, rows, fields) { 
    if (err) throw err; 
    for (var i in rows) { 
     var occurence = stringOccurrence(p1up, rows[i].name); 
     var fuzzy = fuzzysearch(rows[i].name, p1up); 
     if(fuzzy = true){ 
      arrayResults.push([rows[i].name, occurence]); 
     } 
     // 
    } 
}); 
res.render('step2.ejs', { 
    results: arrayResults, 
    "filePath": filePath 
}); 

}) });

+0

Appelez-vous 'res.redirect()' quelque part vous-même? – alex

+0

Non, le seul autre res.render (pas même redirec) que j'ai est la maison 'route.app.get ('/ home', fonction (req, res) { res.render ('uploadform.ejs'); }); –

Répondre

0

Renommez res en vision.annotate(req2).then((res) => {})) en remplaçant l'objet réel res de la demande.