Newer
Older
import express from 'express';
import multer from 'multer';
import path from 'path'
import userService from './data/userService.js';
import articleService from './data/articleService.js';
const __dirname = path.resolve();
export const router = express.Router();
const upload = multer({
storage: multer.diskStorage({ // 저장한공간 정보 : 하드디스크에 저장
destination(req, file, done) { // 저장 위치
done(null, 'public/uploads/'); // uploads라는 폴더 안에 저장
},
filename(req, file, done) { // 파일명을 어떤 이름으로 올릴지
const ext = path.extname(file.originalname); // 파일의 확장자
done(null, path.basename(file.originalname, ext) + Date.now() + ext); // 파일이름 + 날짜 + 확장자 이름으로 저장
}
}),
limits: { fileSize: 5 * 1024 * 1024 } // 5메가로 용량 제한
});
router.post("/upload", upload.array("img"), async function(req, res, next) {
if(!req.session.sessionid){
// 세션이 없엉
}
console.log("포스팅 '해줘'");
const inputTitle = req.body.title
const inputContent = req.body.content
const inputImage = req.files.map(el => el.path);
const useremail = req.session.sessionid.email
const author = await userService.findUserByEmail(useremail);
const inputkeyword = req.body.keyword
const inputlat = req.body.latitude
const inputlng = req.body.longitude
const currentTime = moment().format('YYYY-MM-DD HH:mm:ss')
await articleService.createArticle({
title: inputTitle,
content: inputContent,
keyword: inputkeyword,
latitude: inputlat,
longitude: inputlng,
});
console.log('saved.')
res.send();
router.get("/loadarticle", async (req, res) => {
console.log(path.join(process.cwd(), '/public'))
if(req.session.sessionid){
console.log("세션 O")
}
else {
console.log("세션 X")
}
const articles = await articleService.findAllArticle();
articles.forEach((article) => {
article.imageUrls.forEach(
(urls) => {
try{
//res.sendFile(path.join(__dirname, urls));
}
catch(err){
console.log(err)
}
});
});
res.send(JSON.stringify(articles) );
});