파일 저장 (Filestore)
⚠️ 주의사항
파일 URL은 영구적으로 유효한 주소가 아니므로 절대 업로드된 파일 URL을 kvstore 또는 로컬 저장소에 저장하여 재사용하지 마세요.
❌ 잘못된 예시
// 업로드한 파일 URL을 로컬 스토리지에 저장하여 재사용하는 예시
const App = () => {
const [profileUrl, setProfileUrl] = useState(null);
const handleUpload = async (e) => {
const file = e.target.files[0];
await eliceContents.filestore.post('profile', file);
const { url } = await eliceContents.filestore.get('profile');
localStorage.setItem('profileUrl', url);
setProfileUrl(url);
};
useEffect(() => {
// ⚠️ 로컬 저장소에 저장된 URL이 만료된 주소일 경우 이미지가 표시되지 않습니다.
// 따라서 업로드된 파일 URL을 로컬 저장소에 저장하여 재사용하지 마세요.
const storeProfileUrl = localStorage.getItem('profileUrl');
setProfileUrl(storeProfileUrl);
}, []);
return (
<div>
{profileUrl && <img src={profileUrl} alt="profile" />}
<input type="file" onChange={handleUpload} />
);
};