카테고리 없음

npm install multer

Canyi 2022. 11. 24. 16:44

 

npm install multer

 

이미지 업로드

 

MongoDBWebserver.js

 

multer 설정

//multer 설정
let multer = require('multer');
let storage = multer.diskStorage({
    destination : function (req, res, cb){
        cb(null, './public/image');
    },
    filename: function(req,file,cb){
        cb(null, file.originalname);
    } 
})

 

업로드한 이미지를 multer에 저장

let upload = multer({storage : storage})

 

 

라우터 설정

app.get('/upload', function (req, res) {
    
    res.render('upload.ejs');
})

app.post('/upload', upload.single('profile'),function (req, res) {
    
    res.send('업로드완료');
})

 

 

 

 

upload.ejs

<!--form id, pw-->
<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>write입니다.</title>
        <link
            href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css"
            rel="stylesheet"
            integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi"
            crossorigin="anonymous">
    </head>
    <body>
        <%- include('nav.html') %>

        <h2 class= "container mt-4"><strong>이미지 파일 업로드 페이지</strong></h2>

        <div class="container mt-3">
          <form action="/upload" method="post" enctype="multipart/form-data">
                <input type="file" name="profile"/>
                <button type="submit">이미지전송</button>
          </form>
        </div>
        
        <script
            src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js"
            integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3"
            crossorigin="anonymous"></script>
    </body>
</html>

 

public / image 폴더 만들기

 

 

 

nodemon  MongoDBWebserver

 

 

 

 

 

 

 

 

 

이미지 가져오기 

MongoDBWebserver.js

//이미지 가져오기
app.get('/image/:imgname', function (req, res) {
    
    res.sendFile(__dirname + '/public/image/' + req.params.imgname);
})
http://localhost:8080/image/파일이름