File upload
File upload
νμΌ μ λ‘λλ₯Ό μ²λ¦¬νκΈ° μν΄ Nestλ multer λ―Έλ€μ¨μ΄λ₯Ό μ¬μ©ν©λλ€. μ΄ λ―Έλ€μ¨μ΄λ μμ ν κ΅¬μ± κ°λ₯νλ©° μ ν리μΌμ΄μ μꡬ μ¬νμ λ°λΌ μλμ μ‘°μ ν μ μμ΅λλ€.
Multerλ μ£Όλ‘ νμΌ μ
λ‘λμ μ¬μ©λλ multipart/form-data
λ₯Ό μ²λ¦¬νκΈ°μν λ―Έλ€μ¨μ΄μ
λλ€.
warning κ²½κ³ Multerλ λ©ν° ννΈ (
multipart/form-data
)κ° μλ νΌμ μ²λ¦¬νμ§ μμ΅λλ€. λν μ΄ ν¨ν€μ§λFastifyAdapter
μ ν¨κ» μλνμ§ μμ΅λλ€.
Basic example
λ¨μΌ νμΌμ μ
λ‘λνκ³ μΆμ λλ λ¨μν FileInterceptor()
λ₯Ό νΈλ€λ¬μ μ°κ²°ν λ€μ @UploadedFile()
λ°μ½λ μ΄ν°λ₯Ό μ¬μ©νμ¬ μμ²(request)
μμ νμΌ(file)
μ κ°μ Έμ΅λλ€.
info ννΈ
FileInterceptor()
λ°μ½λ μ΄ν°λ@nestjs/platform-express
ν¨ν€μ§μμ λ΄λ³΄λ΄κ³@UploadedFile()
μ@nestjs/common
μμ λ΄ λ³΄λ λλ€.
FileInterceptor()
λfieldName
(νμΌμ 보μ ν HTML νμμ νλλ₯Ό κ°λ¦¬ν΄)κ³Ό μ νμ options
κ°μ²΄μ λ μΈμλ₯Ό μ·¨ν©λλ€. μ΄ MulterOptions
λ multer μμ±μμ μ λ¬λ κ²κ³Ό λμΌν©λλ€ (μμΈν λ΄μ©μ μ¬κΈ°).
Array of files
νμΌ λ°°μ΄μ μ
λ‘λνκΈ° μν΄ FilesInterceptor()
λ₯Ό μ¬μ©ν©λλ€. μ΄ μΈν°μ
ν°λ μΈ κ°μ§ μΈμλ₯Ό μ·¨ν©λλ€. fieldName
(λμΌνκ² μ μ§λ¨), maxCount
λ λμμ μ
λ‘λν μ μλ μ΅λ νμΌ μμ΄λ©° μ νμ μΈ MulterOptions
κ°μ²΄μ
λλ€. λν request
κ°μ²΄μμ νμΌμ μ ννκΈ° μν΄ @UploadedFiles()
λ°μ½λ μ΄ν°λ₯Ό μ¬μ©ν©λλ€
info ννΈ
FilesInterceptor()
λ°μ½λ μ΄ν°λ@nestjs/platform-express
ν¨ν€μ§μμ λ΄λ³΄λ΄κ³@UploadedFiles()
λ@nestjs/common
μμ λ΄ λ³΄λ λλ€.
Multiple files
μ¬λ¬ νλ (λͺ¨λ λ€λ₯Έ ν€λ‘)λ₯Ό μ
λ‘λνκΈ° μν΄ FileFieldsInterceptor()
λ°μ½λ μ΄ν°λ₯Ό μ¬μ©ν©λλ€.
Any files
λͺ¨λ νλλ₯Ό μ
λ‘λνλ €λ©΄ (λ€λ₯Έ ν€λ₯Ό μ¬μ©νμ§λ§ μ νμλ μμ΅λλ€) AnyFilesInterceptor()
λ°μ½λ μ΄ν°λ₯Ό μ¬μ©ν©λλ€.
Default options
multer λμμ μ¬μ©μ μ μνκΈ° μν΄ MulterModule
μ λ±λ‘ν μ μμ΅λλ€. μ¬κΈ°μ λμ΄λ λͺ¨λ μ΅μ
μ μ§μν©λλ€.
Async configuration
λͺ¨λ μ΅μ
μ 미리 μ λ¬νλ λμ λΉλκΈ°μμΌλ‘ μ λ¬νλ €λ κ²½μ°κ° μ’
μ’
μμ΅λλ€. μ΄ κ²½μ°, λΉλκΈ° λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λ€μν λ°©λ²μ μ 곡νλ registerAsync()
λ©μλλ₯Ό μ¬μ©νμμμ€.
κ°λ₯ν 첫 λ²μ§Έ λ°©λ²μ ν©ν 리 κΈ°λ₯μ μ¬μ©νλ κ²μ λλ€.
λΆλͺ
ν, μ°λ¦¬ ν©ν 리λ λ€λ₯Έ λͺ¨λ κ²μ²λΌ νλν©λλ€ ( λΉλκΈ°
μΌ μλ μκ³ μ£Όμ
μ ν΅ν΄ μμ‘΄μ±μ μ£Όμ
ν μλ μμ΅λλ€).
λλ ν©ν 리 λμ ν΄λμ€λ₯Ό μ¬μ©ν μ μμ΅λλ€.
μμ ꡬμ±μ MulterModule
λ΄μμ MulterConfigService
λ₯Ό μΈμ€ν΄μ€ν νκ³ μ΄λ₯Ό νμ©νμ¬ μ΅μ
κ°μ²΄λ₯Ό λ§λλλ€. MulterConfigService
λ MulterOptionsFactory
μΈν°νμ΄μ€λ₯Ό ꡬνν΄μΌ ν©λλ€.
MulterModule
λ΄μ MulterConfigService
κ° μμ±λλ κ²μ λ§κ³ λ€λ₯Έ λͺ¨λμμ κ°μ Έμ¨ μ 곡μλ₯Ό μ¬μ©νλ €λ©΄useExisting
ꡬ문μ μ¬μ©ν μ μμ΅λλ€.
MulterModule
μ κ°μ Έμ¨ λͺ¨λμ κ²μνμ¬ μ체μ μΌλ‘ μΈμ€ν΄μ€ννλ λμ μ΄λ―Έ μμ± λ ConfigService
λ₯Ό μ¬ μ¬μ©νκΈ° μν΄ κ°μ Έμ¨ λͺ¨λμ μ°Ύμ΅λλ€.
Last updated
Was this helpful?