File Management

A complete file handling system built right into your backend. Upload files, transform images on-the-fly, store locally or in S3, and control access with permissions — no external services required.

Any
File Type
Real-time
Image Processing
Local + S3
Storage Options
100%
Permission-Based

Files Made Simple

Handling file uploads shouldn't require integrating three different services. Baasix gives you everything in one package.

Upload any file type through a simple API. Images get automatic processing — resize, crop, convert formats, or generate thumbnails on the fly using URL parameters. Store files locally during development and switch to S3-compatible storage in production with a single environment variable. Access control follows your permission rules, so users only see files they're allowed to see.

  • Simple upload endpoint that handles any file type
  • On-the-fly image transformations via URL parameters
  • Local storage for development, S3 for production
  • Automatic file metadata extraction and storage
  • Permission-based access control on downloads
  • Direct upload support for large files (presigned URLs)
  • Automatic cleanup of orphaned files

Skip the Third-Party Complexity

Why juggle multiple services when one does it all?

✓ With Baasix

  • One upload endpoint, any file type
  • Image processing built in, no external service
  • Storage backend swappable with env variable
  • Permissions apply to files automatically
  • All file metadata queryable like any collection

✗ Traditional Approach

  • Set up separate file upload service
  • Integrate Cloudinary/imgix for transformations
  • Configure different storage providers
  • Build custom access control for files
  • Maintain separate database for file metadata

File Management Capabilities

Simple Uploads

POST a file to the upload endpoint and get back a URL. Works with forms, SDKs, or direct API calls.

Image Transformations

Resize, crop, convert formats, and adjust quality using URL parameters. No pre-processing needed.

Flexible Storage

Start with local storage, switch to S3-compatible storage (AWS, DigitalOcean, Minio) without code changes.

Access Control

File downloads respect your permission rules. Private files stay private, public files are accessible to anyone.

Smart Thumbnails

Generate thumbnails automatically or request specific sizes. Cached for fast subsequent requests.

Metadata Extraction

Automatic extraction of file size, type, dimensions, and more. Query files like any other collection.

Built for Common Use Cases

From profile pictures to document management.

User Avatars & Media

Let users upload profile pictures with automatic resizing for different display sizes. Serve optimized images everywhere.

AvatarsProfilesSocial

Product Images

E-commerce product galleries with zoom, thumbnails, and responsive images. All generated from single uploads.

E-commerceCatalogsGalleries

Document Storage

Store PDFs, spreadsheets, and documents with permission-based access. Perfect for internal tools and portals.

DocumentsPDFsEnterprise

Content Platforms

Rich media uploads for blogs, documentation, or user-generated content. Markdown editors with drag-and-drop images.

CMSBlogMedia

On-the-Fly Image Processing

Transform images instantly with URL parameters. Resize, crop, convert formats, and optimize — all automatically cached.

Baasix includes a powerful image processing system that transforms images on demand. Simply append parameters to any image URL to resize, crop, change format, or adjust quality. Processed images are cached automatically, so subsequent requests are served instantly.

Resize & Crop

Specify width, height, and fit mode (cover, contain, fill). Generate thumbnails and responsive sizes on demand.

Format Conversion

Convert to WebP, AVIF, PNG, or JPEG via URL. Serve modern formats to supported browsers automatically.

Quality Control

Adjust compression quality to balance file size and visual quality. Perfect for optimizing page load times.

Automatic Caching

Processed images are cached with proper headers. Works seamlessly with CDNs for global edge delivery.

File Management FAQ

What file types can I upload?

Any file type! You can configure allowed types and maximum sizes. Common types like images, documents, and videos have automatic metadata extraction.

How do image transformations work?

Add parameters to the file URL: `/files/abc123?width=200&height=200&fit=cover`. The transformed image is generated on first request and cached.

Can I use my own CDN?

Yes! Put a CDN in front of your Baasix instance. Transformed images include proper cache headers for CDN caching.

How do I handle large file uploads?

For files over the standard upload limit, use presigned URLs. The SDK handles this automatically, uploading directly to storage.

Ready to build faster?

Join developers who are shipping production-ready backends in hours, not weeks.