Node.js 몬godb 데이터베이스 결합 파일 제출

2179 단어
Node.js 몬godb 데이터베이스 결합 파일 제출
1. 먼저 multer를 설치하는 방법: npm install multer-save
2. 앱에서.js에서 다음 코드를 마운트합니다.
//   multer
var multer = require('multer');
app.use(multer({dest:'/tmp/'}).array('image'))
app.use(express.static(path.join(__dirname, 'public')));

3. admin 라우팅에 모듈을 씁니다.
// multer       
var fs = require('fs');
var path = require('path');
var multer = require('multer')

4. 파일 주소를 입력한 ejs에 다음 코드를 씁니다.

5, 연결 데이터베이스 코드를promise로 함수 봉인
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017';
var dbname = 'RZlong'; 
function dbConect(collectName){
var p = new Promise(function(resolve,reject){
MongoClient.connect(url, function (err, db) {
if (err) reject(err);
var dbo = db.db(dbname);
dbo.collection(collectName, function (err, data) {
if (err) throw err;
resolve({data,db})
})
})
})
return p 
}

module.exports = dbConect;

6. admin 라우팅에 다음 코드를 씁니다.
//      :     
var dbConnects = require('../models/dbconect2')

router.post('/hgai-img', function (req, res) {
//        public      
var des_file = path.join(__dirname, "../public/images/XiuGai/" + req.files[0].originalname);
//      
var imgurl = "/images/XiuGai/" + req.files[0].originalname;
fs.readFile(req.files[0].path, function (err, data) {
fs.writeFile(des_file, data, function (err) {
if (err) {
console.log(err)
} else {
res.redirect('/admin/htable-images-list') //       
}
})
})
//         img  
dbConnects('img').then(function ({ data, db }) {
var obj = {
$set: {
"time": req.body.time,
"img": imgurl,
}
}
var aid = { _id: ObjectID(req.body.aid) };
data.updateMany(aid, obj, function (err, coll) {
if (err) throw err;
res.json({ code: 1 })
db.close()
})
}).catch(function (err) {
})
})

좋은 웹페이지 즐겨찾기