inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Next.js with Spring Boot

상품 이미지 출력-Next.js16_수업노트필독

이미지 변환

75

오일중

작성한 질문수 23

0

안녕하세요

이미지 가져올때 주소창에 http://localhost:8080/29c13610-d02f-41b2-b12d-b1a65ebbec7a_img3.webp

이렇게 하면 잘뜨는데 images폴더안에도 파일명 webp로 잘들어와있고요 근데 db에서 받아오면

화면 캡처 2025-12-18 012455.png

fileName에 test1.webp로 29c13610-d02f-41b2-b12d-b1a65ebbec7a_img3.webp 이렇게 변환이 안됐는데 뭐가 문제인가요?

javascript react spring-boot jpa next.js

답변 2

0

구멍가게코딩단

혹시 Next.js 16버전으로 개발 중이라면 http://localhost:8080 경로가 'private ip ...'로 처리되면서 이미지가 출력되지 않는 상황이 발생합니다.

 

Next.js16에서는 아래의 rewrites( )를 추가하시고

import type { NextConfig } from "next";

const nextConfig: NextConfig = {
  /* config options here */

  images: {
    remotePatterns: [
      {
        protocol: 'http', // 이미지 프로토콜 (http, https)
        hostname: 'localhost', // 이미지 호스트 이름 (IP 주소 또는 도메인)
        port: '8080', // 포트 번호 (필요한 경우)
        pathname: '/**', // 허용할 경로 패턴 (모든 경로 허용 시 '/**')
      },
    ],
  },
  
  async redirects() {
    return [
      {
        source: '/product', // 사용자가 접근하려는 경로
        destination: '/product/catalog/1', // 리다이렉트될 경로
        permanent: true, // 영구적인 리다이렉트 (308 Permanent Redirect)
      },

    ];
  },

  async rewrites() {
    return [
      {
        source: '/api/backend/:path*', // 사용자가 접근하려는 API 경로
        destination: 'http://localhost:8080/:path*', // 내부적으로 매핑될 백엔드 서버 경로
      },
    ];
  },

  experimental: {
    serverActions: {
      bodySizeLimit: '10mb'
    }
  },
};

export default nextConfig;

<Image>의 링크는

 

    <Image
                 src={`/api/backend/s_${fileName}`}
                 alt={`${product.pname} thumbnail ${fileName}`}

와 같이 경로를 수정해 주세요.

 

 

이번주에 Next.js 16버전으로 변경된 코드를 업로드할 예정입니다.

0

오일중

버전은 15입니다

0

구멍가게코딩단

우선 http://localhost:8080/이미지파일명으로 호출해서 이미지가 나오는지 확인해 보시고 위의 코드는 15버전에서도 유용합니다

0

오일중

 

왜 DB가져올때 파일명이 다른지 저장할때 무슨 문제인지 모르겠네요

0

구멍가게코딩단

  1. 이미지들이 보관된 폴더에 업로드된 파일은

29c13610-d02f-41b2-b12d-b1a65ebbec7a_img3.webp

와 같이 UUID값_파일이름.webp 의 형태로 보관됩니다.

 

우선 브라우저에서 http://localhost:8080/29c13610-d02f-41b2-b12d-b1a65ebbec7a_img3.webp 과 같이 조회가 가능한지 먼저 체크해 주셔야 합니다.

 

  1. 다음 단계는 데이터베이스 테이블내에 동일한 이름의 파일이 추가되었는지 확인해 주세요

  2. Next.js에서는 설정 파일에 이미지 최적화를 잠시 중지해 보세요

 

const nextConfig = {

 

images: {

unoptimized: true, // ← Next.js 이미지 최적화 끔

},

};

 

  1. 브라우저에서 이미지가 출력되면 이전에 답변드린 내용을 적용해 보세요


 강의를 수정해서 백엔드 코드를 단계별로 받을 수 있도록 해 두었으니 참고해 주세요

 

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 오일중님.

이미지 파일의 변환 및 디스플레이와 관련된 문제는 주로 파일 이름 정리 과정이나 데이터베이스에서의 데이터 읽기, 변환 과정에서 오류가 발생할 가능성이 큽니다. 아래는 이 문제를 해결하기 위해 확인할 몇 가지 사항입니다:

  1. 파일 이름 정리 및 데이터베이스 업데이트:

    • 이미지가 저장될 때 UUID 등으로 파일 이름이 변환되어 저장되는 방식인지 확인해 보세요. 만약 변환된 파일 이름이 데이터베이스에 저장되지 않았다면, 추후 호출 시 불일치가 발생하게 됩니다.
    • 파일이 저장되면서 데이터베이스에도 해당 파일의 정확한 이름이 반영되었는지 확인하세요.
  2. 데이터베이스 값 불일치 확인:

    • 데이터베이스에서 fileName 컬럼에 29c13610-d02f-41b2-b12d-b1a65ebbec7a_img3.webp 이 제대로 업데이트 되었는지를 확인하세요. 이 값이 test1.webp로 남아 있다면, 저장 과정에서의 오류일 수 있습니다.
  3. 애플리케이션 로직 검토:

    • 파일이 저장될 때 보내는 요청에 대한 로직 검토가 필요합니다. 저장 과정에서 파일 이름이 변환되지 않고 원래 이름으로 저장된다면, 저장 전의 파일 처리 과정에서 문제가 있을 수 있습니다.

아래의 링크에서 비슷한 문제를 겪으며 해결 방법을 공유한 게시물을 확인하시면 도움이 될 수 있습니다:

  • 21강 이미지 출력이 안됩니다. 문제 해결을 위해 강의 내 설정 관련 유사한 이슈를 다룬 질문입니다. 이미지 이름 변환 및 데이터베이스 설정 문제를 해결하는 데 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

좋은 강의 자료 감사합니다.

0

6

1

PRD 생성 서브에이전트

0

9

1

유튜브 영상보고 강의 등록하였습니다.

0

14

2

클로드 코드 토큰 절약 공식 플러그인 4개

0

10

0

여러 파드 환경에서 단일 실행 보장 방식

0

10

2

강의 내용 실습관

0

17

1

노션 파일 없음

0

17

3

Claude / 터미널 기본명령어

0

16

4

gitignore에 로컬 셋팅 반영 안됨 이슈

0

14

2

git 연동

0

16

1

한국투자 증권

0

27

2

52번 강의 질문입니다.

0

19

2

https://youtu.be/ziTLbsE9Cbc 유튜브 노션 링크 권한 부탁드립니다.

0

20

2

60강 .claude -> rules (memory)

0

23

1

Plan 모드 활성화 상태에서 해당 모드가 정상 동작 하지 않습니다.

0

20

1

강의 자료 수정 요청 - Next.js 16 버전의 파일 업로드 사이즈 제한 설정

0

108

1

소셜정보 수정

0

65

2

Actions formData 질문.

0

46

1

revalidatePath('/product/catalog/1')

0

61

2

todoPagingCP.tsx에서

0

56

1

21강 이미지 출력이 안됩니다.

0

109

1

강의를 들을 때 타입스크립트 지식이 필요한가요?

0

71

1

서버 Run 실행을 할수가 없습니다. 어떻게 해야 할까요?

0

122

3

한글로 할 일 등록시 리스트 업데이트가 되지않습니다.

0

84

2