01 · 웹 SDK로 올리기
관리자 로그인 후 admin.media.upload()로 파일을 올리고, 돌려받은 url을 문서에 저장하세요.
const admin = await naru.auth.session();
const image = await admin.media.upload(fileInput.files[0]);
// → { url, name, contentType, size }
await admin.collection("posts").set("hello", {
title: "안녕하세요",
coverImage: image.url,
});진행 상황을 보여 주려면 onProgress를 넘기세요. 사진을 줄이고 준비하는 동안 preparing, 보내는 동안 보낸 바이트 수와 함께 uploading, 마무리하는 동안 finishing이 전달됩니다.
await admin.media.upload(file, {
onProgress(progress) {
if (progress.phase === "uploading")
bar.value = progress.loaded / progress.total;
},
});큰 사진은 자동으로 줄여지거나 지원되는 형식으로 변환될 수 있습니다. 구체적인 크기와 변환 방식은 바뀔 수 있으므로 돌려받은 파일 정보와 URL을 쓰세요.
02 · 한도와 허용 형식
- 파일당 25 MiB, 사이트당 250 MiB의 한도가 있습니다.
- 이미지(JPEG, PNG, WebP, AVIF, GIF), 오디오, PDF, ZIP, 텍스트를 지원합니다.
03 · 관리와 삭제
미디어 라이브러리에서 파일을 올리고, 사용량을 확인하고, URL을 복사하고, 지울 수 있습니다. 사이트를 이루는 HTML·CSS 파일은 파일에서 따로 관리합니다.