플러터에서 스토리지 주소를 이용해 파일 삭제하기( GS:// )

2024. 5. 29. 11:44카테고리 없음

반응형

이 블로그 글에서는 플러터 앱에서 파이어베이스 스토리지 주소를 이용하여 파일을 삭제하는 방법에 대해 자세히 살펴보겠습니다.

 

1. 필요한 라이브러리

먼저, pubspec.yaml 파일에 다음 라이브러리를 추가해야 합니다.

dependencies:
  firebase_core: ^1.12.0
  firebase_storage: ^10.3.1
 

터미널에서 다음 명령을 실행하여 라이브러리를 설치합니다.

flutter pub get
 

2. 삭제 프로세스

먼저, 삭제하려는 파일의 스토리지 주소를 얻어야 합니다. 이 주소는 일반적으로 다음과 같은 형식입니다.

gs://<bucket-name>/<path-to-file>

예를 들어, bucket-namemy-bucket이고 path-to-fileimages/my-image.jpg인 경우 스토리지 주소는 다음과 같습니다.

gs://my-bucket/images/my-image.jpg

파일 삭제를 위해 다음 코드를 사용할 수 있습니다.

import 'package:firebase_storage/firebase_storage.dart';

// 스토리지 인스턴스 가져오기
final FirebaseStorage storage = FirebaseStorage.instance;

// 파일 삭제 함수
Future<void> deleteFile(String storageUrl) async {
  try {
    // 스토리지 참조 가져오기
    final storageRef = storage.refFromUrl(storageUrl);

    // 파일 삭제
    await storageRef.delete();
  } on FirebaseException catch (e) {
    // 에러 처리
    print('파일 삭제 오류: ${e.message}');
  }
}
 

3. 예제: 버튼 클릭으로 파일 삭제

다음은 버튼 클릭 시 스토리지 주소를 이용하여 파일을 삭제하는 예제입니다.

import 'package:flutter/material.dart';
import 'package:firebase_storage/firebase_storage.dart';

class FileDeleteScreen extends StatefulWidget {
  @override
  _FileDeleteScreenState createState() => _FileDeleteScreenState();
}

class _FileDeleteScreenState extends State<FileDeleteScreen> {
  String _storageUrl = 'gs://my-bucket/images/my-image.jpg';

  // 파일 삭제 함수
  Future<void> _deleteFile() async {
    try {
      await deleteFile(_storageUrl);
      print('파일 삭제 성공');
    } catch (e) {
      print('파일 삭제 오류: ${e.message}');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('File Delete'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text('삭제하려는 파일 주소: $_storageUrl'),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: _deleteFile,
              child: Text('파일 삭제'),
            ),
          ],
        ),
      ),
    );
  }
}
 

4. 주의 사항

  • 파일 삭제 권한이 있는지 확인해야 합니다.
  • 삭제된 파일은 복구할 수 없으므로 신중하게 수행해야 합니다.
  • 오류 처리 및 예외 처리를 적절하게 구현해야 합니다.

5. 추가 정보

이 블로그 글에서 소개된 내용을 통해 플러터 앱에서 스토리지 주소를 이용하여 파일을 삭제하는 방법을 쉽게 이해하셨기를 바랍니다.

더 궁금한 점이나 도움이 필요한 부분이 있으면 언제든지 질문해주세요.

 

 

비공개테스트를 위한 20명의 테스터모집 앱 "테스터 쉐어"

 

https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

반응형