이제 NodeBird 앱의 코드를 수정해 NodeBird에서 람다 서비스를 이용할 수 있게 해봅시다.
기존 주소에서 original 폴더 부분을 thumb 폴더로 교체하는 코드입니다.
nodebird/controllers/post.js
const { Post, Hashtag } = require('../models');
exports.afterUploadImage = (req, res) => {
console.log(req.file);
const originalUrl = req.file.location;
const url = originalUrl.replace(/\/original\//, '/thumb/');
res.json({ url, originalUrl });
};
...
그런데 리사이징이 오래 걸려서 리사이징된 이미지가 일정 기간 동안 표시되지 않는 경우가 있습니다. 그럴 때는 img 태그에 onerror 속성을 붙여둬서 리사이징된 이미지를 로딩하는 데 실패하면 원본 이미지를 사용하도록 했습니다.