패키지, 저장소 및 앱 카테고리 검색

패키지 상세v3.5.8

minio

Amazon S3 호환 객체 스토리지 서버에 액세스하기 위한 간단한 API를 제공하는 비공식 MinIO Dart 클라이언트 SDK입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
6.6만
좋아요
130
Pub 점수
140

패키지 설치

flutter pub add minio

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

minio 패키지는 Amazon S3 호환 객체 스토리지 서버(예: MinIO)와 상호 작용하기 위한 공식이 아닌 Dart SDK입니다. 업로드, 다운로드, 목록 조회 및 삭제와 같은 일반적인 작업을 수행할 수 있는 간단하고 직관적인 API를 제공합니다. 크로스 플랫폼 사용을 위해 설계되어 Android, iOS, 웹, macOS, Windows, Linux를 지원합니다. S3 프로토콜을 따르는 클라우드 스토리지 서비스와 원활하게 통합되며, 확장 가능한 파일 저장 기능이 필요한 앱에 적합합니다. 가볍고 보안성과 내구성이 뛰어나며 고성능 데이터 지속성을 필요로 하는 개발자에게 적합합니다.

사용 사례

  • 사용자 생성 콘텐츠 저장
  • 응용 프로그램 데이터 백업
  • 정적 자산 호스팅
  • S3 호환 스토리지와의 통합
  • 다양한 플랫폼 간 파일 공유 활성화

주요 기능

  • S3 호환 API
  • 크로스 플랫폼 지원
  • 간단한 업로드/다운로드 방법
  • 보안 인증
  • 객체 수명 주기 관리

적합한 대상

  • 클라우드 스토리지가 필요한 플러터 앱
  • 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 개

소스 저장소

이 패키지를 사용하는 프로젝트

순위