Server
[node.js] base 64 이미지 decode 및 저장 방법
승 밈
2022. 5. 4. 15:14
반응형
웹에서 보낸 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 확장자가 아닌 경우 이 부분을 바꿔주시면 됩니다.
반응형