我有一個表單,用戶可以通過它來上傳圖片。我想通過nodejs上傳它,保存在數據庫(mongodb)中並顯示回模板(EJS)。在Nodejs/Express中上傳圖片的最簡單方法是什麼
我讀了關於gridFS,但我正在尋找最簡單的方式,只是上載圖像。
EJS:
<h2>Enter your Data</h2>
<form action="/test" method="POST">
<input type="username" placeholder="username" name="Username" /> <br />
<input type="text" placeholder="title" name="Name" /><br />
<textarea name="Description" ></textarea><br />
<input type="link" name="Clink"/><br />
<input type="file" name="imgUpload"/><br />
<input type="submit" value="Submit" id="btn"/>
</form>
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var fs = require('fs');
var routes = require('./routes/index');
var users = require('./routes/users');
var about = require('./routes/about');
//var contact = require('./routes/contact');
//var blogData = require('./routes/blogData');
var app = express();
//Connect DB
mongoose.connect('mongodb://localhost:27017/dataTest');
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
app.use('/about', about);
//app.use('/contact', contact);
//app.use('/blogData', blogData);
//Scheme
var Schema = new mongoose.Schema({
_id : String,
Name : String,
Description : String,
Clink : String
});
//Model
var BlogPost = mongoose.model('Blog', Schema);
app.post('/test',function(req,res){
new BlogPost({
_id : req.body.Username,
Name : req.body.Name,
Description : req.body.Description,
Clink : req.body.Clink
}).save(function(err, doc){
if(err){
console.log('boo');
}
else{
console.log('inner');
res.redirect('contact');
res.end();
}
})
});
https://github.com/ expressjs/multer –