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

패키지 상세v2.8.1

storage_client

Supabase Storage와 상호 작용하기 위한 Dart 클라이언트 라이브러리입니다. Supabase Storage는 S3에 저장된 파일을 관리하는 인터페이스를 제공하며, Postgres를 사용하여 권한을 관리합니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
127만
좋아요
33
Pub 점수
140

패키지 설치

flutter pub add storage_client

패키지 개요

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

storage_client 패키지는 Flutter 애플리케이션에서 Supabase Storage와 상호 작용할 수 있도록 해주는 Dart 라이브러리입니다. Supabase Storage는 PostgreSQL 기반의 접근 제어를 갖춘 S3 호환 스토리지에서 파일을 관리하는 서비스입니다. 이 패키지는 Supabase의 인증 및 권한 시스템을 활용하여 파일을 안전하게 업로드, 다운로드, 목록 조회 및 삭제하는 메서드를 제공합니다. Supabase 프로젝트와 원활한 통합을 위해 설계되었으며, 모바일, 웹, 데스크톱 등 주요 플랫폼을 모두 지원합니다. 역할 기반 접근 제어를 통해 강력한 보안을 유지하면서 파일 처리를 간소화합니다.

사용 사례

  • 이미지나 문서와 같은 사용자 생성 콘텐츠 업로드
  • 클라우드 스토리지에 저장된 앱 자산 관리
  • 사용자 간에 안전한 파일 공유 구현
  • 실시간 앱에서 미디어 파일 저장 및 검색
  • Flutter 앱에서 동적 콘텐츠 전달 활성화

주요 기능

  • Supabase 인증을 통한 안전한 파일 작업
  • S3 호환 스토리지 백엔드 지원
  • 크로스 플랫폼 호환성 (Android, iOS, Web, macOS, Windows, Linux)
  • 세밀한 권한을 위한 포스트그레스 통합
  • 파일 업로드, 다운로드 및 목록 표시를 위한 간단한 API

적합한 대상

  • 백엔드로 Supabase를 사용하는 Flutter 앱
  • 보안 파일 관리가 필요한 응용 프로그램
  • 확장 가능한 클라우드 스토리지와 액세스 제어가 필요한 프로젝트
  • 미디어 중심 또는 문서 기반 앱을 개발하는 개발자
  • 팀은 이미 인증 및 데이터베이스에 Supabase를 사용하고 있습니다

고려 사항

  • 저장소가 활성화된 Supabase 프로젝트가 필요합니다
  • 앱에서 인증을 설정해야 합니다
  • 파일 액세스 권한은 Postgres 정책에 따라 달라집니다
  • Supabase의 스토리지 인프라 구조에 제한됨
  • 사용자 지정 S3 구성에 대해 추가 설정이 필요할 수 있습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.


Supabase Logo

Supabase Flutter

Flutter client library for Supabase.

Guides · Reference Docs · Migration Guides

Build Package License: MIT

Run locally

This repo is a monorepo powered by Melos containing supabase_flutter and its sub-libraries. All packages are located in the packages directory.

To install on a locally developed app:

  • Clone this repo
  • Install Melos globally if you haven't already: dart pub global activate melos
  • Run melos bootstrap or melos bs at the root of the cloned directory to install dependencies
  • Add the target package to your pubspec.yaml file specifying the path.
    supabase_flutter:
      path: <your-path-to-the-local-supabase-flutter-repo>/packages/supabase_flutter
    

Testing your app

The helpers the test suites of these packages run on are published in package:supabase_test, so your tests can build on the same primitives: mock HTTP clients, JWT builders, auth session fixtures and realtime frames. Add the package as a dev dependency:

dev_dependencies:
  supabase_test: ^0.1.0

Then stub the endpoints the code under test talks to and run it against a real SupabaseClient, with no running stack required:

final httpClient = MockSupabaseHttpClient()
  ..stubTable('todos', rows: [
    {'id': 1, 'task': 'Ship it', 'status': false},
  ]);
final supabase = testSupabaseClient(httpClient: httpClient);
addTearDown(supabase.dispose);

final todos = await supabase.from('todos').select();
expect(todos, hasLength(1));

See the supabase_test README for the full guide: stubbing database, rpc, edge function and auth endpoints, asserting on recorded requests, running tests as a signed-in user, and wiring Supabase.initialize in Flutter widget tests.

Testing this repo

The tests for the packages postgrest, supabase_auth, supabase_realtime and supabase_storage run against a local Supabase stack. To run these tests locally you need docker and the Supabase CLI installed.

The single configuration for the stack lives in the supabase directory at the repository root. Start it with:

supabase start

Run the Dart tests within the package directory in packages/<package> with the following command. The -j 1 flag runs the tests not concurrently, which works better since the tests run against the same services.

dart test -j 1

To stop the stack run the following command from the repository root:

supabase stop

Contributing

  • Fork the repo on GitHub
  • Clone the project to your own machine
  • Commit changes to your own branch
  • Push your work back up to your fork
  • Submit a Pull request so that we can review your changes and merge

License

This repo is licensed under MIT.

Resources

카테고리

의존성

의존성 목록 5 개

소스 저장소

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

아직 데이터가 없습니다.