티스토리 뷰

반응형

웹에서 보낸 base64 이미지 파일을 받아서 decode 및 저장하는 방법입니다.

react 에서 base64 형태로 이미지 업로드 방법은 https://seung-min.tistory.com/37 여기에 있습니다.

 

[React] base64로 여러 장의 이미지를 서버로 전송

React에서 formData를 사용하여 파일을 전송하다보면 body에 다른값들을 같이 전송해야하는데 잘 되지않는 경우가 있더라구요. 이미지를 base64 형식으로 서버에 전송하는 방법입니다. 서버에서 전달

seung-min.tistory.com

 

const fs = require("fs");
app.post("/api/saveimgs", (req, res) => {
    const fileCount = req.body.sendImgs.length; //넘어온 이미지 갯수
    const timeStamp = +new Date();
    
    for (let i = 0; i < fileCount; i++) {
        const imgPathTemp = process.env.DATA_PATH;
        let fileName = imgPathTemp + "_" + timeStamp + "_" + i + ".jpg";

        /*이미지 저장 */
        fs.writeFileSync(fileName, req.body.sendImgs[i].replace(/^data:image\/jpeg;base64,/, ""), "base64");


    }
});

넘어온 이미지 갯수 만큼 반복문을 사용 node 기본 모듈인 fs를 통해 writeFile 해주면 됩니다.

writeFile 하기전, replace를 통해  data:image\/jpeg;base64, 문구를 지워주셔야합니다. jpg 확장자가 아닌 경우 이 부분을 바꿔주시면 됩니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함