나는 멀터 (Multer)를 사용하여 이미지를 업로드하려고 며칠을 보냈습니다. 이것은 내가 얻은 것입니다. 나는 여러 가지 일을 시도해 보았지만 제대로 작동하지 않는 것처럼 보였다. Multer를 사용하여 createUser 함수에서 아래 표시된 형식으로 이미지를 업로드하는 방법을 모르겠습니다.Nodejs 및 Express의 멀터 이미지 업로드
내 'server.js'파일 :
var express = require('express');
var multer = require('multer');
var upload = multer({dest: 'uploads/'});
var router = require('./app/routes');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var session = require('client-sessions');
var DB_URI = "mongodb://localhost:27017/portfolio";
var app = express();
var path = require('path');
var fs = require('fs');
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({extended:false}));
app.use(express.static(__dirname+ '/public'));
app.use(session({
cookieName: 'session',
secret: 'random_string_goes_here',
duration: 30 * 60 * 1000,
activeDuration: 5 * 60 * 1000,
}));
mongoose.connect(DB_URI);
app.use(router);
app.listen(8080, function(){
console.log("server is listening on port 8080");
})
내 'routes.js'
var express = require('express');
var router = express.Router();
var projectController = require('./controllers/projectController');
var userController = require('./controllers/userController');
router.post('/regUser', userController.createUser);
내 'index.ejs'
<form class="form inv" method="POST" action="/regUser" id="reg_form">
<h3 style="margin-bottom:40px;">Register</h3>
<!-- <input type="file" name="file"/> -->
<input type="text" class="form-control" name="name" placeholder="Name"/>
<input type="text" class="form-control" name="username" placeholder="Username"/>
<input type="text" class="form-control" name="email" placeholder="Email"/>
<input type="password" class="form-control" name="password" placeholder="Password"/>
<input type="file" name="userPhoto"/>
<input type="submit" class="btn btn-default" value="Submit"/>
</form>
내 userController.js
createUser: function(req, res){
//add code to create user AND upload image
}
그곳에? – Deep