๐ฏ Amazon S3
Amazon S3๋, Simple Storage Service์ ์ฝ์๋ก ์ธํฐ๋ท์ฉ ์คํ ๋ฆฌ์ง ์ ๋๋ค.
Amazon S3๋ ์น์์์, ์ธ์ ์ด๋๋ ์ง ์ํ๋ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํ๋๋ฐ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋จํ ์น ์๋น์ค ์ธํฐํ์ด์ค๊ฐ ์์ต๋๋ค.
Amazon S3์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- REST ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ ์ฅ / ์ญ์ / ์กฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ์ฃผ๋ก ์ด๋ฏธ์ง ํ์ผ, ์ ์ ๋ฆฌ์์ค ๋ฑ์ S3์ ์ฌ๋ ค๋๊ณ ์ฌ์ฉํฉ๋๋ค.
- ๋ด๊ตฌ์ฑ์ด ์ข์ต๋๋ค.(๋ฐ์ดํฐ ์ ์ค ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์กด์ฌํ์ง ์์ต๋๋ค)
AWS S3 ๋ฒํท ์์ฑํ๊ธฐ
1. ๋ฒํท ๋ฑ๋กํ๊ธฐ
2. ๊ถํ์ค์ ๋ณ๊ฒฝํ๊ธฐ
3. s3๋ฅผ ์ด์ฉํด ์ด๋ฏธ์ง ์ ๋ก๋ํ๊ธฐ (MYSQL)
multer ๋ชจ๋ ์ฌ์ฉํ๊ธฐ
multer ๋ฉ์๋ ์ฌ์ฉํ๊ธฐ - multer.single(fieldname)
const multer = require('multer');
const upload = multer({
dest : 'uploads/'
});
const UserController = require('../controllers/user')
router.post('/profile', upload.single('image'), UserController.uploadProfile)
module.exports = router;
๋ฉ์ธ ๋ก์ง์ ์งํํ๊ธฐ ์ํด controller๋ฅผ ์ฐ๊ฒฐ์์ผ์ค๋ค.
multer์ ์ญํ ์ ํ์ผ์ ๊ฐ์ ธ์์ request ๊ฐ์ฒด์ file/files๋ผ๋ ์์ฑ์ ์ถ๊ฐํด์ฃผ์ด ๋ค์next()์ผ๋ก ๋๊ฒจ์ค๋ค.
controllers/userController.js ์์
controller์์๋ ๋ฐ์ request์์ file ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ ํ๊ฑฐ๋,
ํน์ ๋ก์ง์ ๊ตฌํํ๋ฉด ๋๋ค.