chore: upload multi files
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user