Sonamu.getContext()
ํ์ฌ ์คํ ์ค์ธ ์์ฒญ์ Context๋ฅผ ๋ฐํํฉ๋๋ค. AsyncLocalStorage๋ฅผ ํตํด ๊ด๋ฆฌ๋๋ฏ๋ก, ๊ฐ์ ์์ฒญ ์คํ ๋ด ์ด๋์๋ ํธ์ถํ ์ ์์ต๋๋ค.์๊ทธ๋์ฒ
๋ฐํ๊ฐ
- Context: ํ์ฌ ์์ฒญ์ Context ๊ฐ์ฒด
- ํ ์คํธ ํ๊ฒฝ: ๋น Context ๊ฐ์ฒด (request์ reply๋ null)
์์ธ
- Error: Context๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ (ํ๋ก๋์ ํ๊ฒฝ์์๋ง)
์ฌ์ฉ ์์
ํฌํผ ํจ์์์ ์ฌ์ฉ
์๋น์ค ๋ ์ด์ด์์ ์ฌ์ฉ
ํ ์คํธ ํ๊ฒฝ ๋์
ํ ์คํธ ํ๊ฒฝ์์๋ Context๊ฐ ์ฃผ์ ๋์ง ์์๋ ์๋ฌ๋ฅผ ๋ฐ์์ํค์ง ์๊ณ ๋น Context๋ฅผ ๋ฐํํฉ๋๋ค:runWithMockContext๋ฅผ ์ฌ์ฉํ์ธ์:
Sonamu.getUploadContext()
ํ์ผ ์ ๋ก๋ ์์ฒญ์์ ์ ๋ก๋๋ ํ์ผ ์ ๋ณด์ ์ ๊ทผํฉ๋๋ค.@upload ๋ฐ์ฝ๋ ์ดํฐ๊ฐ ์ ์ฉ๋ ๋ฉ์๋์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๊ทธ๋์ฒ
๋ฐํ๊ฐ
- file: ๋จ์ผ ํ์ผ ์
๋ก๋ ์ ํ์ผ ๊ฐ์ฒด (
@upload({ mode: "single" })) - files: ๋ค์ค ํ์ผ ์
๋ก๋ ์ ํ์ผ ๋ฐฐ์ด (
@upload({ mode: "multiple" }))
์์ธ
- Error:
@upload๋ฐ์ฝ๋ ์ดํฐ ์์ด ํธ์ถํ ๊ฒฝ์ฐ
์ฌ์ฉ ์์
๋จ์ผ ํ์ผ ์ ๋ก๋
๋ค์ค ํ์ผ ์ ๋ก๋
ํฌํผ ํจ์์์ ์ฌ์ฉ
๊ด๋ จ ํ์
UploadedFile
์ฃผ์์ฌํญ
AsyncLocalStorage ์คํ
getContext()์ getUploadContext()๋ AsyncLocalStorage๋ฅผ ํตํด ๋์ํ๋ฏ๋ก, ๋ฐ๋์ ๊ฐ์ ๋น๋๊ธฐ ์คํ ์คํ ๋ด์์ ํธ์ถํด์ผ ํฉ๋๋ค:
@upload ๋ฐ์ฝ๋ ์ดํฐ ํ์
getUploadContext()๋ ๋ฐ๋์ @upload ๋ฐ์ฝ๋ ์ดํฐ๊ฐ ์ ์ฉ๋ ๋ฉ์๋์์๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค: