인프런 커뮤니티 질문&답변

장산님의 프로필 이미지

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

S3 연결하기

이미지 업로드 할때 한글이름 파일 500에러

23.05.02 13:43 작성

·

827

0

안녕하세요 제로초님 이미지 업로드할때 한글이름으로 된 이미지를 업로드하면 화면에 보여지고 s3에도 업로드는 되는데 post할때는 500에러가 나네요 ㅠㅠ

백엔드에 encodeURIComponent하고 normalize("NFC") 까지 써봤는데 고쳐지지가 않아서 문의 남깁니다 ㅠㅠ

const upload = multer({
  storage: multerS3({
    s3: new AWS.S3(),
    bucket: "react-sansbook-aws",
    key(req, file, cb) {
      cb(
        null,
        `original/${Date.now()}_${path.basename(
          encodeURIComponent(file.originalname)
        )}`
      );
    },
  }),
  limits: { fileSize: 20 * 1024 * 1024 }, // 20MB

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2023. 05. 02. 13:49

네, 그 500 에러가 뭔가요??

장산님의 프로필 이미지
장산
질문자

2023. 05. 02. 13:51

아 죄송합니다 사진이 같이 안올라갔네요

스크린샷 2023-05-02 오후 1.50.46.png스크린샷 2023-05-02 오후 1.51.04.png

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2023. 05. 02. 14:22

500 에러는 서버 터미널에서 확인하라고 말씀드렸습니다.. ㅎㅎ

aws 서버 터미널에서 pm2 monit으로 모니터링 켜두고 확인하세요.

장산님의 프로필 이미지
장산
질문자

2023. 05. 02. 14:30

아 죄송합니다

pm2 monit이 원래 렉이 많이 걸리나요?ㅠㅠ

로그창 보기가 힘드네요 ㅠㅠ

일단 하나만 겨우 스샷 찍어서 올리겠습니다

스크린샷 2023-05-02 오후 2.28.49.png

 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2023. 05. 02. 14:34

창을 최대한 키운 후에 캡처해주세요. 에러메시지가 짤렸습니다. 다행히 일부 내용으로 추측할 수는 있네요. 이미지 주소가 너무 길어서 그렇습니다.

이거 DB쪽 초기화해서 테이블 다시 생성하셔야할 것 같긴 한데요(SQL을 모르신다면)

https://github.com/ZeroCho/react-nodebird/blob/7c468a7a00899f98b0fc30920363f4af0b7d0c23/ch7/back/models/image.js#L8-L11

여기서 STRING(200)을 훨씬 더 늘려야 할 것 같습니다. 이미지 주소가 200자가 넘나보네요.

SQL을 아신다면 저것만 살짝 바꿔놓을수도 있긴 합니다.

ALTER TABLE images ALTER COLUMN src varchar(300) NOT NULL

장산님의 프로필 이미지
장산
질문자

2023. 05. 02. 15:55

제로초님 궁금한게 있는데요

pm2 monit 할때도 그렇고 가끔 우분투가 멈춰있다가 튕기는 현상이 나타나는데 하드웨어 문제인가요?

지금 맥북m1pro14 16GB로 프론트 백엔드 둘다 하고있습니다.

pm2 monit으로 로그 확인할때 너무 느려서 답답할때가 많습니다. 그래서 백엔드용 데스크탑을 하나 사야하나까지 고민을 했습니다.

이 프로젝트뿐만 아니라 리엑트 네이티브할때도 빌드가 너무 느린적이 많았습니다

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2023. 05. 02. 16:13

지금 완전 잘못 알고 계신 부분이 있는데요. api.sansbook.co.kr 서버는 장산님의 컴퓨터가 아닙니다. aws에서 빌린 인스턴스입니다. 거기에 원격으로 접속한 것 뿐이고요. 장산님의 컴퓨터를 업그레이드해봤자 아무 변화가 없습니다. 비유하자면 네이버 서버가 터져서 웹사이트가 느리게 뜨는데 내 컴퓨터를 바꾸는 것 같은 겁니다.

aws 인스턴스를 업그레이드해야하는데 이러면 무료에서 벗어나게 됩니다.

리액트 네이티브 빌드가 느린 것은 컴퓨터 속도가 맞긴 합니다.

장산님의 프로필 이미지

작성한 질문수

질문하기