Я хочу переименовать файлы после получения req.body, но мультитер работает с файлами перед чтением тела.
Поэтому я должен вызывать multer после получения тела (нужна функция-обертка), но я не знаю, как мне это сделать, потому что, например, nest использует перехватчик для вызова multer, а затем передает аргумент @UploadedFiles(): image
.
Как я могу позвонить в multer In Post декоратор и передать multer req.body, а затем передать возвращенные изображения?
const storage = {
storage: diskStorage({
destination: (req, file, callback) => {
const user = req.query.email;
const appName = req.query.appName;
const path = `./src/View/images/${user}/${appName}/${file.fieldname}`;
if (!fs.existsSync(path)) {
mkDirByPathSync(path);
}
callback(null, path);
},
filename: (req, file, callback) => {
return callback(null, file.originalname);
},
}),
};
@Post('/generateTemplate')
@UseInterceptors(FileFieldsInterceptor([
{ name: 'appLogo', maxCount: 1 },
{ name: 'iconSmallPWA', maxCount: 1 },
{ name: 'iconMiddlePWA', maxCount: 1 },
{ name: 'usersAvatars', maxCount: 20 },
{ name: 'screenshots', maxCount: 20 },
], storage ))
receiveData(@UploadedFiles() images, @Body() fileDto: any, @Query() urlQuery: QueryInterface) {
this.formatDataService.formatReceivedData(fileDto.createAppForm, urlQuery.email);
this.filesService.formatReceivedFiles(images);
this.appService.generateHtml();
return 'ololo';
}