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

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