2016-06-08 6 views
0

index.html прибывает в браузер, нажав ссылку «спонсор» на главной странице «localhost: 9000 /», а url изменится на «localhost: 9000/спонсором ", теперь, когда я подглавил форму, он переходит на url« localhost: 9000/spons/uploads »и дает« не может POST/spons/uploads », папка с изображениями находится в том же каталоге, что и файл server.js, вы можете помочь мне с этим и предложить решение?Невозможно отправить сообщение об ошибке - node.js - загрузка изображения с помощью multer

это файл 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);

+0

прикрепленного маршрутизатор к применению? –

+0

Я не получил вас, сэр, я новичок в node.js, не могли бы вы объяснить, что это такое? – Robin

ответ

0

Вы получали 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); 

Надежды, это помогает.

+0

Могу я знать, почему вы сделали это изменение? – Robin

+0

'app.use ('/', router);' присоединяет маршрутизатор к приложению. –

+0

Он по-прежнему показывает ту же ошибку – Robin

0

Вам даже не нужно точно маршрутизатор, проверьте образец ниже

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); 
+0

Мне пришлось добавить этот код к большому коду, который явно использовал маршрутизаторы, поэтому даже я должен был использовать, я не знаю, я могу изменить приложение, не могли бы вы рассказать, что не так с этим кодом? – Robin

+0

В этом проблема, ваш код выглядит нормально, и он должен работать, попробуйте упростить базу кода, сделайте небольшой пример для себя, сначала свяжитесь с multer, затем добавьте его в большой проект. –

+0

вы можете объяснить, что вы имели в виду под кодовая база? – Robin