オブジェクトをストレージにアップロードする


これはAWS S 3、minioなどのオブジェクトストレージにファイルをアップロードする方法です.
私はパッケージnestjs-multer-extendedを使用します
パッケージをインストールする
yarn install nestjs-multer-extended
モジュールで
import { MulterExtendedModule } from 'nestjs-multer-extended';
@Module({
    imports: [
        MulterExtendedModule.register({
    awsConfig: {
        accessKeyId: process.env.AWS_ACCESS_KEY_ID,
        secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
        region: process.env.AWS_DEFAULT_REGION,
    },
    bucket: process.env.AWS_BUCKET,
    basePath: 'public',
    fileSize: 1 * 1024 * 1024,
    endpoint: process.env.AWS_ENDPOINT,
});
    ],
})
コントローラで
@UseInterceptors(AmazonS3FileInterceptor('path', { dynamicPath: 'folder_name_or_root', randomFilename: true }))
  @Post()
  async create(@UploadedFile() file, @Body() createProductGalleryDto: CreateProductGalleryDto) {
    if (file) {
      createProductGalleryDto.path = file.key;
    }
    return await this.productGalleryService.create(createProductGalleryDto);
  }
ファイルをパスに保存することができます.