我对这段代码有疑问
@Post()
@UseGuards(JwtGuard)
@UseInterceptors(FileInterceptor('file',{
storage: diskStorage({
destination: 'filesTemp',
filename: fileNameEdit,
}),
fileFilter: fileFilter,
}))
uploadFile(
@UploadedFile() file: Express.Multer.File,
@Body() fileUploadDto :FileUploadDto,
@GetUser() user : User
){
if(!file){
throw new BadRequestException('File is required')
}
return this.filesService.uploadFile(fileUploadDto,file,user)
}
FileInterceptor 保存文件,在所有情况下,我在我的应用程序内部操作后从临时文件夹中删除文件。有一种情况是文件被保存并且下一个带有 classValidation 的 fileUploadDto (@Body) 有错误,所以这个 DTO 在我的逻辑被触发之前给出响应。在这种情况下,我没有地方回调以从临时文件夹中删除上传的文件。我不想让 cron 清除临时文件夹。如何在响应之前或之后回调以从临时文件夹中删除此文件?