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.
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.
Product Images
E-commerce product galleries with zoom, thumbnails, and responsive images. All generated from single uploads.
Document Storage
Store PDFs, spreadsheets, and documents with permission-based access. Perfect for internal tools and portals.
Content Platforms
Rich media uploads for blogs, documentation, or user-generated content. Markdown editors with drag-and-drop images.
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.