8. 첨부파일
1) 설치
yarn add @types/multer
2) 활용
multer옵션파일 생성
import { existsSync, mkdirSync } from 'fs';
import * as multer from 'multer';
import { extname } from 'path';
export const multerOptions = {
// fileFilter: (request, file, callback) => {
// if (file.mimetype.match(/\/(jpg|jpeg|png)$/)) {
// // 이미지 형식은 jpg, jpeg, png만 허용합니다.
// callback(null, true);
// }
// },
storage: multer.diskStorage({
destination: (request, file, callback) => {
const uploadPath = 'uploads';
if (!existsSync(uploadPath)) {
// uploads 폴더가 존재하지 않을시, 생성합니다.
mkdirSync(uploadPath);
}
callback(null, uploadPath);
},
filename: (request, file, callback) => {
//파일 이름 설정
callback(null, `${Date.now()}${extname(file.originalname)}`);
},
}),
};
인터셉터에 옵션적용
@Post('upload')
@UseInterceptors(FileInterceptor('file', multerOptions))
uploadFile(@UploadedFile() file: Express.Multer.File) {
console.log(file);
}
'개발 > NestJs' 카테고리의 다른 글
Yarn 개발 환경구축 (0) | 2023.10.20 |
---|---|
9. 마이크로서비스 (0) | 2023.10.20 |
7. Swagger (0) | 2023.10.20 |
6. AXIOS 통신 (0) | 2023.10.20 |
5. 스케쥴링 (0) | 2023.10.20 |