Guide
Capabilities
What Fileway supports today — a coverage matrix across drivers, plus the roadmap
Fileway is intentionally minimal. This page is the overview: exactly what each driver supports today, what is currently in the works, and what you need to build yourself. Deep-dives live in the uploads, downloads, metadata, and observability guides.
Coverage Matrix
| Capability | LocalDriver | S3Driver | CloudinaryDriver |
|---|---|---|---|
Upload via ReadableStream | ✅ | ✅ | ✅ |
Upload cancellation (AbortSignal) | ✅ | ✅ | ✅ |
Upload progress (onProgress) | ✅ | ✅ | ✅ |
| True streaming (no full buffering) | ✅ | ✅¹ | ✕ |
| Multipart upload (large files) | — | ✅ | ✕ |
Public URL retrieval (getUrl) | ✅ | ✅ | ✅ |
| Pre-signed URLs | ✕ | ✅ | ✅ |
| Download / read-back | ✅ | ✅ | ✅ |
Typed errors (StorageError.code) | ✅ | ✅ | ✅ |
Logging & error hooks (logger, onError) | ✅ | ✅ | ✅ |
User metadata (options.metadata) | ✕ | ✅ | ✕ |
Result metadata (result.meta) | ✅ | ✅ | ✅ |
| Object tagging | ✕ | ✕ | ✕ |
| TTL / expiration | ✕ | ✕ | ✕ |
| Lifecycle rules | ✕ | ✕ | ✕ |
Legend: ✅ supported today · ¹ S3 always streams with bounded memory: aws-chunked when the size is known, multipart when it is not (see uploads) · — not applicable (streams directly to disk, no parts) · ✕ not yet supported (in the works).
Roadmap
In the works and coming next:
- S3 object tagging and metadata read-back (
headObject) - Metadata persistence for
LocalDriverandCloudinaryDriver - TTL / expiration in
UploadOptionsand lifecycle rule management
Tracked alongside in the changelog.
Where to go next
- Uploads & Streaming — streaming behavior, multipart, cancellation, progress
- Downloads & Retrieval — public URLs, pre-signed URLs, read-back
- Metadata & Lifecycle — user metadata, result metadata, tagging, expiration
- Observability — typed errors, logging, and
onError - Middleware — transform and intercept uploads
- Runtimes — where each driver runs (Node, Bun, Deno, Workers)
- Drivers — per-driver configuration reference