搜尋套件、儲存庫與 APP 分類

套件詳情v3.5.8

minio

非官方 MinIO Dart 客戶端 SDK,提供簡單的 API 來存取任何相容 Amazon S3 的物件儲存伺服器。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
6.6萬
喜歡數
130
Pub 分數
140

安裝套件

flutter pub add minio

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

minio 套件是一個非官方的 Dart SDK,用於與任何相容 Amazon S3 的物件儲存伺服器(例如 MinIO)進行互動。它提供簡單直覺的 API,可執行上傳、下載、列出及刪除物件等常見作業。此客戶端專為跨平台使用設計,支援 Android、iOS、Web、macOS、Windows 與 Linux。該客戶端能順暢整合遵循 S3 協定的雲端儲存服務,非常適合需要可擴展檔案儲存功能的應用程式。輕量級且極適合開發者建構需要安全、耐用且高效率資料持久化的應用程式。

適用情境

  • 儲存使用者產生的內容
  • 備份應用資料
  • 託管靜態資源
  • 與S3相容的儲存整合
  • 跨平台檔案共享

主要特色

  • S3 相容 API
  • 跨平台支援
  • 簡單的上傳/下載方法
  • 安全認證
  • 物件生命週期管理

適合對象

  • 需要雲端儲存的Flutter應用
  • 使用 MinIO 或 S3 的開發人員
  • 需要檔案持久化應用
  • Backendless 檔案處理
  • 具有多平台部署的項目

使用建議

  • 非官方 SDK – 不由 MinIO 維護
  • 需要正確的訪問憑據
  • 僅限S3相容伺服器
  • 無內建重試邏輯
  • 依賴外部 GitHub 倉庫

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

MinIO Dart

This is the unofficial MinIO Dart Client SDK that provides simple APIs to access any Amazon S3 compatible object storage server.

API

Bucket operations Object operations Presigned operations Bucket Policy & Notification operations
makeBucket getObject presignedUrl getBucketNotification
listBuckets getPartialObject presignedGetObject setBucketNotification
bucketExists fGetObject presignedPutObject removeAllBucketNotification
removeBucket putObject presignedPostPolicy listenBucketNotification
listObjects fPutObject getBucketPolicy
listObjectsV2 copyObject setBucketPolicy
listIncompleteUploads statObject
listAllObjects removeObject
listAllObjectsV2 removeObjects
removeIncompleteUpload

Usage

Initialize MinIO Client

MinIO

final minio = Minio(
  endPoint: 'play.min.io',
  accessKey: 'Q3AM3UQ867SPQQA43P2F',
  secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
);

AWS S3

final minio = Minio(
  endPoint: 's3.amazonaws.com',
  accessKey: 'YOUR-ACCESSKEYID',
  secretKey: 'YOUR-SECRETACCESSKEY',
);

Filebase

final minio = Minio(
  endPoint: 's3.filebase.com',
  accessKey: 'YOUR-ACCESSKEYID',
  secretKey: 'YOUR-SECRETACCESSKEY',
  useSSL: true,
);

File upload

import 'package:minio/io.dart';
import 'package:minio/minio.dart';

void main() async {
  final minio = Minio(
    endPoint: 'play.min.io',
    accessKey: 'Q3AM3UQ867SPQQA43P2F',
    secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
  );

  await minio.fPutObject('mybucket', 'myobject', 'path/to/file');
}

For complete example, see: example

To use fPutObject() and fGetObject, you have to import 'package:minio/io.dart';

Upload with progress

import 'package:minio/minio.dart';

void main() async {
  final minio = Minio(
    endPoint: 'play.min.io',
    accessKey: 'Q3AM3UQ867SPQQA43P2F',
    secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
  );

  await minio.putObject(
    'mybucket',
    'myobject',
    Stream<Uint8List>.value(Uint8List(1024)),
    onProgress: (bytes) => print('$bytes uploaded'),
  );
}

Get object

import 'dart:io';
import 'package:minio/minio.dart';

void main() async {
  final minio = Minio(
    endPoint: 's3.amazonaws.com',
    accessKey: 'YOUR-ACCESSKEYID',
    secretKey: 'YOUR-SECRETACCESSKEY',
  );

  final stream = await minio.getObject('BUCKET-NAME', 'OBJECT-NAME');

  // Get object length
  print(stream.contentLength);

  // Write object data stream to file
  await stream.pipe(File('output.txt').openWrite());
}

Features and bugs

Please file feature requests and bugs at the issue tracker.

Contributions to this repository are welcome.

License

MIT

所屬分類

依賴

依賴清單 9 項

原始碼儲存庫

使用此套件的專案

所在榜單