---
name: StorageConfig
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type StorageConfig struct {
      BaseDir      string
      MaxFileSize  int64
      AllowedTypes []string
  }
description: "Configura el almacenamiento local de archivos: directorio base, tamano maximo y tipos MIME permitidos."
tags: [storage, config, upload, file, infra]
uses_types: []
file_path: "functions/infra/storage_config.go"
---

## Ejemplo

```go
cfg := StorageConfig{
    BaseDir:      "./uploads",
    MaxFileSize:  10 << 20, // 10 MB
    AllowedTypes: []string{"image/jpeg", "image/png", "application/pdf"},
}
```

## Notas

Tipo producto — todos los campos son obligatorios. `BaseDir` debe existir o ser creable por la app. `MaxFileSize` se aplica con `http.MaxBytesReader` durante el parse del multipart. `AllowedTypes` es una lista blanca verificada por magic bytes (no por el header Content-Type del request).
