server.js
js
const express = require('express')
const multer = require('multer')
const cookieParser = require('cookie-parser');
const SERVER_POST = 4000
const UPLOADED_FILE_DIR = 'uploaded_files'
const app = express()
const storage = multer.diskStorage({
destination (req, file, cb) {
// cb 콜백함수를 통해 전송된 파일 저장 디렉토리 설정
cb(null, `${UPLOADED_FILE_DIR}/`)
},
filename (req, file, cb) {
// cb 콜백함수를 통해 전송된 파일 이름 설정
cb(null, file.originalname)
}
})
const upload = multer({ storage })
app.all('/*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "http://local.kakao.com:3000");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Credentials", true);
next();
});
app.use(cookieParser())
app.use('/static', express.static('static'))
app.use('/src', express.static('src'))
app.use(`/${UPLOADED_FILE_DIR}`, express.static(UPLOADED_FILE_DIR))
app.get('/', (req, res) => {
console.log(req.cookies)
res.send('Hello World!')
})
app.get('/500', (req, res) => {
res.status(500).send({})
})
// 파일 업로드
app.post('/upload', upload.any(), (req, res) => {
const name = req.files[0].originalname
const url = `http://localhost:${SERVER_POST}/${UPLOADED_FILE_DIR}/${name}`
const mimetype = req.get('content-type')
res.send({
name,
url,
mimetype
})
})
app.listen(SERVER_POST, () => {
console.log(`Example app listening on port ${SERVER_POST}!`)
})