处理/ POST后渲染视图Express

时间:2017-07-04 10:32:12

标签: node.js express multer

我正在尝试在处理与Multer上传的文件后渲染视图。 我收到了错误

  

未处理的承诺拒绝(拒绝ID:1):TypeError:res.redirect不是函数

我理解错了什么? 此外,应用程序永远不会在botom上执行渲染到步骤2.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
});

}) });

1 个答案:

答案 0 :(得分:0)

重命名res中的vision.annotate(req2).then((res) => {})),因为它会覆盖请求的实际res对象。