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๋ฅผ ํตํด ์ด๋ฏธ ์
๋ก๋๋ ํ์ผ ์ ๋ณด์ ์ ๊ทผํฉ๋๋ค.
ํ์ผ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ
์ฃผ์์ฌํญ
๋ค์ ๋จ๊ณ
ํ์ผ ์ ๋ก๋ ์ค์
@upload ๋ฐ์ฝ๋ ์ดํฐ
UploadedFile ํด๋์ค
ํ์ผ ์ ๋ณด ์ ๊ทผ
URL ์์ฑ
URL ์์ฑํ๊ธฐ
@api ๋ฐ์ฝ๋ ์ดํฐ
API ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ