【问题标题】:How to prevent file saving if file already exists in multer如果文件已存在于multer中,如何防止文件保存
【发布时间】:2020-06-18 08:32:53
【问题描述】:

我正在使用multerNetsJs,并像下面这样存储文件

    @Post('upload')
    @UseInterceptors(FileInterceptor('file', {
        storage: diskStorage({
            destination: '\\nasmnt\\gtwac\\file_upload',
            filename: (req, file, callback) => {
                callback(null, file.originalname);
            },
        }),
    }),
    )
    uploadFile(@UploadedFile() file, @Query() dialer: DialerListType): void {
        console.log(JSON.stringify(dialer));
        console.log(file);

    }

当我再次上传相同的文件时,它会覆盖旧文件,在我的情况下,如果文件已经存在,我需要抛出错误。我该怎么做?

p.s 我是multer的新手

【问题讨论】:

    标签: javascript nestjs multer


    【解决方案1】:

    如果其他人有同样的问题

    import { MulterModule } from '@nestjs/platform-express';
    import * as fs from 'fs';
    import { diskStorage } from 'multer';
    import * as path from 'path';
    ...
         MulterModule.registerAsync({
                imports: [SharedModule],
                useFactory: async (configService: ConfigService) => ({
                    storage: diskStorage({
                        destination: configService.config.dialerFilePath.upload,
                        filename: (req, file, callback) => {
                            callback(null, file.originalname);
                        },
                    }),
                    fileFilter: (req, file, callback) => {
    
                        if (fs.existsSync(path.join(configService.config.dialerFilePath.upload, file.originalname))) {
                            callback(new NotAcceptableException(`File ${file.originalname} is already uploaded!`));
                        } else {
                            callback(null, true);
                        }
                    },
                }),
                inject: [ConfigService],
            }),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-10
      • 2013-11-07
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多