Pentru a procesa cereri de tip multipart/form-data ce conțin fișiere atașate (imagini, documente PDF), NestJS pune la dispoziție interceptorul nativ FileInterceptor('nume_camp') (construit peste Multer).
Decoratorul @UploadedFile() injectează obiectul fișierului, oferind acces la bufferul de memorie, dimensiune (size), tipul MIME (mimetype) și numele original.
Exemplu: Încărcare fișier cu limitare de dimensiune
import { Controller, Post, UseInterceptors, UploadedFile, ParseFilePipe, MaxFileSizeValidator } from '@nestjs/common';
import { FileInterceptor } from '@nestjs/platform-express';
@Controller('uploads')
export class UploadsController {
@Post('avatar')
@UseInterceptors(FileInterceptor('avatar'))
uploadAvatar(
@UploadedFile(
new ParseFilePipe({
validators: [
new MaxFileSizeValidator({ maxSize: 1024 * 1024 * 2 }), // Maxim 2MB
],
}),
)
file: Express.Multer.File,
) {
return {
filename: file.originalname,
size: file.size,
mimetype: file.mimetype,
};
}
}
Întrebări & Exemple de Cod:
Încărcarea Fișierelor cu FileInterceptor și @UploadedFile()Ai o nelămurire despre utilizarea comenzii
Încărcarea Fișierelor cu FileInterceptor și @UploadedFile()sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.