[flutter] 플러터에서 path_provider를 이용하여 동영상 저장하기
이번 글에서는 Flutter에서 path_provider
패키지를 사용하여 동영상을 저장하는 방법을 알아보겠습니다.
1. path_provider
패키지 추가하기
먼저, pubspec.yaml
파일에 path_provider
패키지를 추가해야 합니다. 아래와 같이 dependencies
섹션에 패키지를 추가해주세요.
dependencies:
flutter:
sdk: flutter
path_provider: ^2.0.1
변경 사항을 적용하기 위해 터미널에서 flutter pub get
명령을 실행해주세요.
2. 동영상 저장하기
이제 동영상을 저장할 코드를 작성해보겠습니다. 먼저 path_provider
패키지를 import해주세요.
import 'package:path_provider/path_provider.dart';
다음으로, 동영상 파일을 저장하는 함수를 작성합니다.
Future<String> saveVideo() async {
final directory = await getApplicationDocumentsDirectory();
final path = '${directory.path}/my_video.mp4';
// 동영상 파일을 원하는 경로에 저장하기
final videoFile = File(path);
// 동영상 파일을 가져와서 저장하는 로직을 작성합니다.
return path;
}
saveVideo
함수에서는 getApplicationDocumentsDirectory()
함수를 호출하여 동영상 파일을 저장할 디렉토리를 가져옵니다. 그리고 원하는 경로에 동영상 파일을 저장한 후, 해당 파일의 경로를 반환합니다.
이제 동영상을 저장하는 기능을 원하는 곳에서 호출하여 사용할 수 있습니다.
String videoPath = await saveVideo();
print('동영상이 저장된 경로: $videoPath');
위처럼 함수를 호출하여 동영상이 저장된 경로를 얻을 수 있습니다.
3. 권한 설정하기
위의 예제 코드에서 동영상을 저장할 디렉토리에 접근하기 위해서는 저장소 접근 권한(WRITE_EXTERNAL_STORAGE
)을 설정해야 합니다. AndroidManifest.xml 파일에 다음과 같이 권한을 추가해주세요.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application>
// ...
</application>
</manifest>
iOS에서는 권한 설정이 필요하지 않습니다.
마무리
이제 path_provider
패키지를 사용하여 Flutter 앱에서 동영상을 저장하는 방법을 알아보았습니다. 앱에서 동영상 저장 기능을 추가할 때 참고하시기 바랍니다.