2017-07-04 3 views
-1

Ich versuche, eine Ansicht nach der Verarbeitung der mit Multer hochgeladenen Datei zu rendern. Ich bekam einen FehlerRenderansicht Express nach der Verarbeitung/POST

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

Was verstehe ich falsch? Auch die Anwendung tun nie das Rendering auf botom zu '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

Rufen Sie 'res.redirect()' irgendwo selbst an? – alex

+0

Nein, der einzige andere ResRender (nicht einmal Redirect), den ich habe, ist das Home 'route.app.get ('/ home', Funktion (req, res)) { res.render ('uploadform.ejs'); }); ' –

Antwort

0

Benennen Sie res in vision.annotate(req2).then((res) => {})), da es das tatsächliche res Objekt der Anforderung überschreibt.

Verwandte Themen