getPublicUrl로 이미지 URL 받는 방법?
getImageUrl을 얻는 방식을 강의 방식이 아닌 getPublicUrl을 사용해서 얻으려면 어떻게 해야 하나요?
답변 1
0
Supabase의 getPublicUrl을 Next.js 14에서 사용하는 방법을 간단히 설명해드릴게요.
1. getPublicUrl 사용법
Supabase Storage에 저장된 파일의 공용 URL을 생성하려면, 아래처럼 getPublicUrl을 사용하면 됩니다.
export async function getPublicImageUrl(path) {
const { data } = supabase
.storage
.from('your-bucket-name') // 버킷 이름
.getPublicUrl(path); // 파일의 경로
return data.publicUrl;
}이 함수는 주어진 경로에 해당하는 파일의 공용 URL을 반환합니다. 예를 들어, images/example.png 파일의 URL을 가져올 수 있습니다.
2. Next.js에서 활용하기
- 서버 컴포넌트에서 이미지 URL을 미리 생성하고 렌더링할 수 있습니다:
// app/page.js
import { getPublicImageUrl } from './supabase-client';
export default async function Page() {
const imageUrl = await getPublicImageUrl('images/example.png');
return (
<div>
<img src={imageUrl} alt="Example" />
</div>
);
}
- 클라이언트 컴포넌트에서 동적으로 URL을 가져와 렌더링할 수도 있습니다:
import { useEffect, useState } from 'react';
import { getPublicImageUrl } from './supabase-client';
export default function ImageComponent() {
const [imageUrl, setImageUrl] = useState('');
useEffect(() => {
async function fetchImageUrl() {
const url = await getPublicImageUrl('images/example.png');
setImageUrl(url);
}
fetchImageUrl();
}, []);
return (
<div>
{imageUrl && <img src={imageUrl} alt="Example" />}
</div>
);
}
요약
- getPublicUrl을 사용해 Supabase Storage에서 파일의 공용 URL을 가져올 수 있습니다.
- 서버 또는 클라이언트 컴포넌트에서 이 URL을 활용해 이미지를 렌더링할 수 있습니다.
더 궁금한 점이 있으면 편하게 말씀주세요!
Recoil 에러
0
87
1
투두 리스트 ui 작업 중에 material-tailwind가 리액트와 호환 문제가 있는지 리액트 19에서 18로 낮춰도 인풋과 아이콘 버튼 컴포넌트가 제대로 표시되지 않아요 ㅜㅜ
0
79
1
supabase 오픈 소스 사용에 대해서
0
94
0
next와 react query 버전 업데이트 관련 질문
0
75
1
Vercel 무료버전 서버속도
0
552
2
material 붉은 밑줄
0
117
2
파일 이름이 한글일 때 에러 발생
0
264
2
recoil 타입 에러
0
109
2
강의 code 올려논 github 있나요 ?
0
115
2
아니... 강의 자료가 없나요?
0
188
3
무한스크롤 기능, 검색기능 대소문자
0
107
1
smtp부분
0
92
2
모듈 에러
0
154
2
20:34초에 await이 아무 효과가 없다고 뜨는데 사용하신 이유가 궁금합니다
0
169
2
latest 버전 변경에 따른 프로젝트 설정 방식 업데이트 가능하신가요
0
158
2
개인 개발자 비즈 앱 전환 버튼이 안보여요
0
252
2
supabase에서 가입된 유저를 강제로 로그아웃 시키는 방법?
0
424
2
메세지를 전송하면 DB에는 남는데 화면에 보이지 않아요.
0
138
2
6:29 movie-card-list.tsx파일작성하시기전에
0
88
2
todolist할때 컴포넌트 분리 안했던 것 같은데...
1
140
2
vscode에서 @material-tailwind/react component를 가져왔을 때 뜨는 빨간줄 제거할 수는 없나요?
0
322
2
searchMovies에서 hasNextPage가 필요한 이유
0
139
2
react 19버전에서는 recoil사용이 어렵나요?
0
1499
2
netflix clone 할 때 recoil을 하는 순간 에러가 없어지지 않아요
2
319
3





