Rivium

Rivium Storage Flutter SDK

File storage and image transformation SDK for Flutter with upload, download, and on-the-fly image processing.

pub.dev Dart 3.0+ Flutter MIT License


Installation

Add to your pubspec.yaml:

dependencies:
  rivium_storage: ^0.1.0

Then run:

flutter pub get

Quick Start

import 'package:rivium_storage/rivium_storage.dart';

// Initialize
final storage = RiviumStorage(apiKey: 'rv_live_xxx');

// Upload a file
final file = await storage.upload(
  'my-bucket',
  'images/photo.jpg',
  imageBytes,
  options: UploadOptions(contentType: 'image/jpeg'),
);

// Get a thumbnail URL
final thumbnailUrl = storage.getTransformUrl(
  file.id,
  transforms: ImageTransforms(width: 200, height: 200, fit: 'cover'),
);

// Download a file
final bytes = await storage.download(file.id);

Features

  • Upload & Download — Upload files to buckets, download by ID or path
  • Image Transformations — Resize, crop, blur, sharpen, rotate, format conversion (WebP, AVIF, JPEG, PNG) on the fly
  • Bucket Management — List, get by ID or name
  • File Operations — List with prefix filtering, pagination, get metadata, delete single or batch
  • URL Generation — Public URLs, download URLs, and transform URLs for direct use in Image.network()
  • Security Rules — User-scoped access with setUserId() for bucket policy enforcement
  • Pure Dart — Works on all Flutter platforms (iOS, Android, Web, macOS, Windows, Linux)

Documentation

For full documentation, visit rivium.co/docs.

License

MIT License — see LICENSE for details.

Libraries

rivium_storage
RiviumStorage Flutter SDK