@capgo/capacitor-file-sharer를 사용하여
base64 데이터, 데이터 URL, 로컬 파일 경로, file:// URL, 안드로이드 content:// URI, 그리고 Capacitor _capacitor_file_ URL.
설치
bun add @capgo/capacitor-file-sharer
bunx cap sync
이 플러그인은 다음을 제공합니다.
share- 안드로이드 및 iOS에서 네이티브 공유 시트를 열거나, 웹에서 파일을 다운로드합니다.save- 안드로이드 공유 컬렉션에 저장하거나, iOS에서 공유/저장 시트를 열거나, 웹에서 다운로드합니다.getPluginVersion- 플랫폼 구현 버전을 반환합니다.
예시 사용
생성된 파일 공유
import { FileSharer } from '@capgo/capacitor-file-sharer';
await FileSharer.share({
filename: 'report.pdf',
contentType: 'application/pdf',
base64Data: reportBase64,
title: 'Quarterly report',
text: 'Attached report',
});
지역 파일 공유
await FileSharer.share({
filename: 'export.zip',
contentType: 'application/zip',
path: fileUri,
});
안드로이드 다운로드에 저장
const result = await FileSharer.save({
filename: 'backup.zip',
contentType: 'application/zip',
base64Data: zipBase64,
android: {
saveDirectory: 'downloads',
relativePath: 'Download/My App',
},
});
console.log(result.uri);
플랫폼 참고사항
- 안드로이드 공유는
FileProvider,ClipData, URI 허가로 파일을 읽을 수 있는 chooser 미리보기 및 썸네일을 제공합니다. - 안드로이드 저장은 안드로이드 10 이상에서는 MediaStore를 사용하고, 안드로이드 9 이하에서는 공용 디렉토리를 사용합니다.
- iOS 공유는 임시 파일에 base64 백업을 지원하고, 직접 지역 경로 공유도 지원합니다.
- 파일을 다운로드할 때, 큰 파일에 대한 chunked base64 변환을 사용하여 웹 공유합니다.
Full Reference
- GitHub: https://github.com/Cap-go/capacitor-file-sharer/
- Docs: /docs/plugins/file-sharer/
Using @capgo/capacitor-file-sharer에서 계속하세요.
파일을 다운로드할 때, 큰 파일에 대한 chunked base64 변환을 사용하여 웹 공유합니다. Using @capgo/capacitor-file-sharer __CAPGO_KEEP_0__/__CAPGO_KEEP_1__-file-sharer를 연결하세요. capgo/capacitor-file-sharer의 implementation detail을 확인하려면 @capgo/capacitor-file-sharer를 참조하세요. for the implementation detail in @capgo/capacitor-file-sharer, __CAPGO_KEEP_0__는 __CAPGO_KEEP_1__-file-sharer를 사용하여 파일을 다운로드할 때, 큰 파일에 대한 chunked base64 변환을 사용하여 웹 공유합니다. for the implementation detail in Getting Started, @capgo/capacitor-data-storage-sqlite for the implementation detail in @capgo/capacitor-data-storage-sqlite, Using @capgo/capacitor-data-storage-sqlite for the native capability in Using @capgo/capacitor-data-storage-sqlite, and @capgo/capacitor-file for the implementation detail in @capgo/capacitor-file.