Validacion y restriccion de archivos + almacenamiento en carpeta

This commit is contained in:
2025-08-05 15:07:26 -04:00
parent e18c25e2ee
commit 8a54bf7138
10 changed files with 1613 additions and 74 deletions

View File

@@ -1,5 +1,4 @@
import { Controller, Post, UploadedFiles, UseInterceptors } from '@nestjs/common';
import { Controller, Post, UploadedFiles, UseInterceptors, Body } from '@nestjs/common';
import { FilesInterceptor } from '@nestjs/platform-express';
import { PicturesService } from './pictures.service';
@@ -9,13 +8,14 @@ export class PicturesController {
@Post('upload')
@UseInterceptors(FilesInterceptor('urlImg'))
async uploadFile(@UploadedFiles() files: Express.Multer.File[]) {
console.log(files);
async uploadFile(@UploadedFiles() files: Express.Multer.File[], @Body() body: any) {
// Aquí puedes acceder a los campos del formulario
// console.log('Archivos:', files);
// console.log('Otros campos del formulario:', body);
const result = await this.picturesService.saveImages(files);
console.log(result);
// const result = await this.picturesService.saveImages(files);
// console.log(result);
return {data: ["result"]}
return { data: result };
}
}
}

View File

@@ -14,21 +14,20 @@ export class PicturesService {
const picturesPath = join(__dirname, '..', '..', '..', '..', 'uploads','pict');
console.log(picturesPath);
let images : string[] = [];
console.log(file);
let count = 0;
// file.forEach(async (file) => {
// // count++
// // const fileName = `${Date.now()}-${count++}-${file.originalname}`;
// // console.log(fileName);
// // const filePath = join(picturesPath, fileName);
// // await writeFile(filePath, file.buffer);
// // images.push(fileName);
// });
file.forEach(async (file) => {
count++
const fileName = `${Date.now()}-${count}-${file.originalname}`;
images.push(fileName);
// console.log(fileName);
const filePath = join(picturesPath, fileName);
await writeFile(filePath, file.buffer);
});
// return [file[0].originalname]
return images;