Spaces:
Sleeping
Sleeping
File size: 1,071 Bytes
8268e91 73746a8 8268e91 73746a8 8268e91 73746a8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | import {
Controller,
Get,
Post,
UseInterceptors,
UploadedFile,
} from '@nestjs/common';
import { FileInterceptor } from '@nestjs/platform-express';
import { AppService } from './app.service';
import { diskStorage } from 'multer';
import { extname } from 'path';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
@Post('api/upload')
@UseInterceptors(
FileInterceptor('file', {
storage: diskStorage({
destination: './uploads',
filename: (req, file, cb) => {
const uniqueSuffix =
Date.now() + '-' + Math.round(Math.random() * 1e9);
cb(null, `${uniqueSuffix}${extname(file.originalname)}`);
},
}),
}),
)
uploadFile(@UploadedFile() file: Express.Multer.File) {
// Return the URL to access the uploaded file
// Note: ensure we serve this directory statically
return {
success: true,
url: `/uploads/${file.filename}`,
};
}
}
|