【问题标题】:Cannot Post error - node.js - uploading image using multer无法发布错误 - node.js - 使用 multer 上传图片
【发布时间】:2016-06-09 01:37:41
【问题描述】:

index.html 通过单击主页“localhost:9000/”中名为“spons”的链接到达浏览器,并且 url 更改为“localhost:9000/spons”,现在当我提交表单时,它会运行到 url "localhost:9000/spons/uploads" 并给出 "cannot POST /spons/uploads" ,图像文件夹与 server.js 文件位于同一目录中,你能帮我解决这个问题吗?

这是 index.html 文件

<form name='uploadform' enctype='multipart/form-data' method='post' action='/spons/uploads'>
<input name='imageupload' type='file'>
<input type="submit" value="Upload Image" name="submit">
</form>
这是 server.js 文件

var express = require('express');
var multer= require('multer');

var upload= multer({dest:'/images'}).single('imageupload');


var router = express.Router();
router.post('/spons/uploads', upload, function(req,res){
  res.end('uploaded');
   }
 );

express().listen(9000);

【问题讨论】:

  • 附加路由器到应用程序?
  • 先生,我没听懂你,我是 node.js 的新手,你能解释一下这是什么意思吗?

标签: javascript html node.js multer


【解决方案1】:

您收到了cannot POST /spons/uploads,因为您没有将router 附加到应用程序。

var express = require('express');
var app = express();
var multer= require('multer');

var upload= multer({dest:'/images'}).single('imageupload');

var router = express.Router();
router.post('/spons/uploads', upload, function(req,res){
   res.end('uploaded');
});

app.use('/',router); // this line is the key. 

app.listen(9000);

希望,它有帮助。

【讨论】:

  • 我可以知道,你为什么做这个改变?
  • app.use('/',router); 将路由器附加到应用程序。
  • 实际上这个路由器最后被写为exports.module = router,在原始代码中,你认为这会影响代码吗?我编辑了代码,但实际上,这个文件正在被导入另一个主 server.js 文件
【解决方案2】:

您甚至不需要显式路由器,请查看下面的示例

var express = require('express');
var app = express();
var multer= require('multer');

var upload= multer({dest:'/images'}).single('imageupload');

app.post('/spons/uploads', upload, function(req,res){
   res.end('uploaded');
});

app.listen(9000);

【讨论】:

  • 我不得不将此代码添加到一个明确使用路由器的大代码中,所以即使我不得不使用,我也不知道,我可以更改为应用程序,你能告诉我吗这段代码有什么问题?
  • 问题就在这里,你的代码看起来不错,应该可以工作,尽量简化代码库,自己做一个小例子,先联系multer,然后把它添加到大项目中跨度>
  • 尝试小演示,工作演示,确保您的环境正常(node.version、multer.version、express.version 等)
猜你喜欢
  • 2018-10-23
  • 2018-03-22
  • 1970-01-01
  • 2017-03-03
  • 2021-05-30
  • 2016-03-06
  • 1970-01-01
  • 2019-12-07
  • 2018-08-05
相关资源
最近更新 更多