首页 > 解决方案 > 如何在 Nestjs 中全局启用 Multer(fileUpload) 包?

问题描述

我正在尝试使用 Multer 异步配置,我在我的应用模块中使用了它,它是根模块

MulterModule.registerAsync({
  useClass: MulterConfigService,
});

并为 multer 选项创建了一个 multer-config.service.ts 文件

 @Injectable()
 export class MulterServiceConfig implements MulterOptionsFactory {
    createMulterOptions() {
        const interceptor = {
            storage: memoryStorage(),
            fileFilter: (req, file, callback) => {
                if (!file.originalname.match(/\.(jpg|jpeg|png|gif)$/)) {
                    return callback(new Error('Only image files are allowed!'), false);
                }
                callback(null, true);
            },
            limits: {
                files: 1,
                fileSize: 640 * 480
            },
        }
        return interceptor;
    }
};

不知何故,我无法将它导入我的其他模块/或在全球范围内使用它。我尝试了另一种方法,直接导入到我的特定模块中,而不是在根模块中,它工作正常,但我想在全球范围内使用它。

我还尝试为 multer 创建一个单独的模块,并允许它使用 @Global() 装饰器,但它也没有显示出任何区别。

标签: javascripttypescriptnpmnestjsmulter

解决方案


推荐阅读