【发布时间】:2016-10-13 12:20:40
【问题描述】:
问题:
我在 upload.ejs 中单击提交,但出现错误:“无法 POST /upload”
解决方案:
我的问题是架构问题,而不是编码问题。
我改变了我的项目结构来解决这个问题。
我创建了一个名为“upload.js”的新文件来放入路由器代码。
我还将“upload.ejs”移动到项目的根目录。
我更新了我的“app.js”以考虑新的路由器文件“upload.js”。
我将表单更改为使用“upload.js”。
代码:
上传.js
var express = require("express");
var router = express.Router();
var flash = require("connect-flash");
var firebase = require("firebase");
var multer = require("multer");
var upload = multer({dest:"./public/images/uploads/"});
router.get("/", function(req, res, next){
res.render("upload");
});
router.post("/", upload.single("image"), function(req, res, next){
if (req.file){
console.log("Uploading file...");
var image = req.file.filename;
}
else {
console.log("No file uploaded");
var image = "noimage.jpg";
}
var post = {
title: req.body.title,
section: req.body.section,
image: image,
}
var section = req.body.section.toLowerCase();
firebase.database().ref("posts/"+section).push(post);
req.flash("success_msg", "Post Created");
res.redirect("/upload");
});
module.exports = router;
上传.ejs
<form enctype="multipart/form-data" method="post" action="upload">
【问题讨论】:
-
你不应该根据你的路线在 /users/upload 发帖吗?
-
@AbhyuditJain 我试过了,没用。我得到:无法发布 /users/upload
-
您为什么要从您的问题中删除所有代码?这使得该问题作为其他人的参考毫无价值,因为问题中没有足够的信息甚至无法知道所问的内容。我想这个问题现在应该被删除。或者,您可以将相关代码放回问题中,以便对其他人保留一些有用性。此外,如果您找到自己问题的答案,则发布您自己的答案 - 您不会将其放入问题中。问题是为了问题,答案是为了答案(与其他一些网站不同)。
-
@jfriend00 我联系了版主删除问题。
-
@jfriend00 谢谢你提醒我:)
标签: javascript node.js routes ejs