더북(TheBook)

이제 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 속성을 붙여둬서 리사이징된 이미지를 로딩하는 데 실패하면 원본 이미지를 사용하도록 했습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.