Skip to main content
Sonamu์˜ Storage Manager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ, S3, GCS ๋“ฑ์— ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

Storage Manager ๊ฐœ์š”

ํ†ตํ•ฉ ์ธํ„ฐํŽ˜์ด์Šค

๋‹จ์ผ API ์—ฌ๋Ÿฌ ์Šคํ† ๋ฆฌ์ง€ ์ง€์›

๋“œ๋ผ์ด๋ฒ„ ์‹œ์Šคํ…œ

local, s3, gcs ํ™•์žฅ ๊ฐ€๋Šฅ

saveToDisk()

๊ฐ„ํŽธํ•œ ์ €์žฅ URL ์ž๋™ ์ƒ์„ฑ

๋””์Šคํฌ ๊ด€๋ฆฌ

์—ฌ๋Ÿฌ ๋””์Šคํฌ ์„ค์ • ๋ชฉ์ ๋ณ„ ๋ถ„๋ฆฌ

saveToDisk() ๋ฉ”์„œ๋“œ (๊ถŒ์žฅ)

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

@upload() ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋กœ ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์€ Sonamu.getContext().bufferedFiles๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค. BufferedFile์˜ saveToDisk() ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฐ€์žฅ ๊ฐ„ํŽธํ•œ ํŒŒ์ผ ์ €์žฅ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋””์Šคํฌ ์„ ํƒ

Storage Manager ์ง์ ‘ ์‚ฌ์šฉ

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

saveToDisk()๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ Storage Manager๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠน์ • ๋””์Šคํฌ ์‚ฌ์šฉ

Storage ์„ค์ •

storage.config.ts

Storage Driver API

put() - ํŒŒ์ผ ์ €์žฅ

ํŒŒ๋ผ๋ฏธํ„ฐ:
  • key: string - ์ €์žฅ ๊ฒฝ๋กœ
  • data: Uint8Array - ํŒŒ์ผ ๋ฐ์ดํ„ฐ
  • options: { contentType?: string } - ์˜ต์…˜

get() - ํŒŒ์ผ ์ฝ๊ธฐ

delete() - ํŒŒ์ผ ์‚ญ์ œ

exists() - ํŒŒ์ผ ์กด์žฌ ํ™•์ธ

getUrl() - Public URL ์ƒ์„ฑ

getSignedUrl() - Signed URL ์ƒ์„ฑ

์‹ค์ „ ์˜ˆ์ œ

๋‚ ์งœ๋ณ„ ํด๋” ๊ตฌ์กฐ

์‚ฌ์šฉ์ž๋ณ„ ํด๋” ๊ตฌ์กฐ

์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๋””์Šคํฌ

์ด๋ฏธ์ง€ ์ตœ์ ํ™” ํ›„ ์ €์žฅ

์—ฌ๋Ÿฌ ๋””์Šคํฌ์— ๋™์‹œ ์ €์žฅ

ํŒŒ์ผ ์‚ญ์ œ

ํŒŒ์ผ ์‚ญ์ œ

ํŒŒ์ผ ์กด์žฌ ํ™•์ธ ํ›„ ์‚ญ์ œ

๊ณ ๊ธ‰ ์‚ฌ์šฉ

์ŠคํŠธ๋ฆฌ๋ฐ ์—…๋กœ๋“œ (๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ)

๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ @upload({ consume: "stream" }) ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ์ด ์ง€์ •๋œ ์Šคํ† ๋ฆฌ์ง€์— ์ง์ ‘ ์ŠคํŠธ๋ฆฌ๋ฐ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ context.uploadedFiles๋ฅผ ํ†ตํ•ด ์ด๋ฏธ ์—…๋กœ๋“œ๋œ ํŒŒ์ผ ์ •๋ณด์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ

์ฃผ์˜์‚ฌํ•ญ

ํŒŒ์ผ ์ €์žฅ ์‹œ ์ฃผ์˜์‚ฌํ•ญ: 1. saveToDisk()๊ฐ€ ๊ฐ€์žฅ ๊ฐ„ํŽธํ•œ ๋ฐฉ๋ฒ• 2. ๋””์Šคํฌ ์„ค์ • ํ™•์ธ 3. ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ ์„ค์ • 4. ์—๋Ÿฌ ์ฒ˜๋ฆฌ ํ•„์ˆ˜ 5. ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์€ ์ŠคํŠธ๋ฆฌ๋ฐ ๊ณ ๋ ค

๋‹ค์Œ ๋‹จ๊ณ„

ํŒŒ์ผ ์—…๋กœ๋“œ ์„ค์ •

@upload ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ

UploadedFile ํด๋ž˜์Šค

ํŒŒ์ผ ์ •๋ณด ์ ‘๊ทผ

URL ์ƒ์„ฑ

URL ์ƒ์„ฑํ•˜๊ธฐ

@api ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ

API ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•