chore: upload multi files

This commit is contained in:
Matin
2025-01-29 10:39:00 +03:30
parent 1d11509371
commit 63e5d1b925
7 changed files with 58 additions and 5 deletions
+26 -2
View File
@@ -1,5 +1,5 @@
import { FileInterceptor } from "@nest-lab/fastify-multer";
import { Controller, Post, UploadedFile, UseInterceptors } from "@nestjs/common";
import { FileInterceptor, FilesInterceptor } from "@nest-lab/fastify-multer";
import { Controller, Post, UploadedFile, UploadedFiles, UseInterceptors } from "@nestjs/common";
import { ApiBody, ApiConsumes, ApiOperation, ApiTags } from "@nestjs/swagger";
import { UploaderService } from "./uploader.service";
@@ -30,4 +30,28 @@ export class UploaderController {
console.log(file);
return await this.uploaderService.upload(file);
}
@ApiOperation({ summary: "Uploads multiple files" })
@ApiConsumes("multipart/form-data")
@UseInterceptors(FilesInterceptor("files"))
@ApiBody({
required: true,
schema: {
type: "object",
properties: {
files: {
type: "array",
items: {
type: "string",
format: "binary",
},
},
},
},
})
@Post("multi-file")
async uploadFiles(@UploadedFiles() files: IFile[]) {
console.log({ files });
return await this.uploaderService.uploadMultiple(files);
}
}
+5
View File
@@ -10,4 +10,9 @@ export class UploaderService {
async upload(file: IFile) {
return await this.s3Service.upload(file);
}
async uploadMultiple(files: IFile[]) {
const uploadPromises = files.map((file) => this.s3Service.upload(file));
return await Promise.all(uploadPromises);
}
}