【问题标题】:Render view Express after processing /POST处理 /POST 后渲染视图 Express
【发布时间】:2017-12-07 18:49:14
【问题描述】:

我正在尝试在处理使用 Multer 上传的文件后呈现视图。 我有一个错误

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

我理解错了什么? 此外,应用程序永远不会在底部对“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
});

}) });

【问题讨论】:

  • 你自己在某个地方给res.redirect()打电话吗?
  • 不,我唯一的其他 res.render(甚至没有重定向)是家route.app.get('/home', function(req, res) { res.render('uploadform.ejs'); });

标签: node.js express multer


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2015-03-23
    • 1970-01-01
    • 2017-06-23
    相关资源
    最近更新 更多