Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev3.5.8

minio

SDK cliente não oficial do MinIO em Dart que fornece APIs simples para acessar qualquer servidor de armazenamento de objetos compatível com o Amazon S3.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
66 mil
Curtidas
130
Pontos Pub
140

Instalar pacote

flutter pub add minio

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote minio é um SDK Dart não oficial para interagir com qualquer servidor de armazenamento de objetos compatível com o Amazon S3, como o MinIO. Ele fornece uma API simples e intuitiva para realizar operações comuns, como upload, download, listagem e exclusão de objetos. Projetado para uso em múltiplas plataformas, suporta Android, iOS, Web, macOS, Windows e Linux. O cliente permite integração fluida com serviços de armazenamento em nuvem que seguem o protocolo S3, tornando-o ideal para aplicativos que precisam de armazenamento de arquivos escalonável. É leve e muito adequado para desenvolvedores que constroem aplicações que exigem persistência de dados segura, durável e de alto desempenho.

Casos de uso

  • Armazenar conteúdo gerado pelo usuário
  • Fazendo backup de dados do aplicativo
  • Hospedagem de ativos estáticos
  • Integração com armazenamento compatível com S3
  • Habilitar compartilhamento de arquivos entre plataformas

Principais recursos

  • API compatível com S3
  • Suporte multiplataforma
  • Métodos simples de upload/download
  • Autenticação segura
  • Gerenciamento do ciclo de vida do objeto

Indicado para

  • Aplicativos Flutter que precisam de armazenamento em nuvem
  • Desenvolvedores usando MinIO ou S3
  • Aplicativos que exigem persistência de arquivos
  • Manipulação de arquivos Backendless
  • Projetos com implantação multiplataforma

Considerações

  • SDK não oficial – não mantido pela MinIO
  • Requer credenciais de acesso corretas
  • Limitado a servidores compatíveis com S3
  • Sem lógica de repetição embutida
  • Depende de repositório externo do GitHub

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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

Categorias

Dependências

Lista de dependências 9 itens

Repositório-fonte

Projetos que usam este pacote

Rankings