Библиотека Firebase Storage
Библиотека Firebase Storage Library обеспечивает доступ к файлам в Cloud Storage через SDK Firebase, выходя за рамки встроенной поддержки FlutterFlow.
Инструкции
Чтобы начать использовать эту библиотеку:
- Импортируйте библиотеку в существующий проект FlutterFlow.
- Подключите проект FlutterFlow к Firebase (если вы еще этого не сделали). Библиотека по умолчанию использует основное хранилище (bucket) связанного проекта Firebase. Вы можете переопределить это поведение, передав явный URL хранилища в любое из действий.
- Используйте пользовательские действия и пользовательские функции в потоках действий.
Пользовательские действия
-
uploadFileToBucket— Загрузка файла по любому пути в любом хранилище (bucket), к которому у вас есть права на запись.- Параметры:
bucketName(String?) для загрузки файла. Если оставить пустым, используется основное хранилище связанного проекта Firebase.fullPath(String?), куда будет записан файл внутри хранилища. Если указано, параметрprefixигнорируется.uploadedFile(FFUploadedFile), который нужно загрузить в Cloud Storage. Это результат предыдущего действияStore media for upload.prefix(папка/каталог) (String?), куда будет загружен файл. ЕслиfullPathне указан, действие использует этот параметр иnameизuploadedFile, чтобы определить полный путь для записи файла.
- Результат действия:
- В случае успеха результат действия — это
fileObject, содержащий полный путь загруженного файла.
- В случае успеха результат действия — это
- Параметры:
-
listAllFilesInBucket— Получение списка всех файлов в любом хранилище, к которому у вас есть права на чтение.- Параметры:
bucketName(String?) для получения списка файлов. Если оставить пустым, используется основное хранилище связанного проекта Firebase.listType(StorageListType?) элементов для получения списка (файлы, каталоги, оба). Если оставить пустым, действие вернет спис ок как файлов, так и префиксов (папок/каталогов).prefix(String?) — это/, разделенный путем, от которого начинать получение списка файлов. Если оставить пустым, действие вернет элементы в корне хранилища.
- Результат действия:
- В случае успеха результат действия — это
Listиз элементовfileObject.
- В случае успеха результат действия — это
- Параметры:
-
downloadFile— Скачивание данных файла, к которому у вас есть права на чтение. Это скачивает фактические данные в код приложения. Если вместо этого нужен общедоступный URL для данных, используйтеgetDownloadUrl.- Параметры:
bucketName(String?) для скачивания файла. Если оставить пустым, используется основное хранилище связанного проекта Firebase.fullPath(String) файла, данные которого будут прочитаны из хранилища.
- Результат действия:
- В случае успеха результат действия — это
FFUploadedFileс данными файла, прочитанными из хранилища.
- В случае успеха результат действия — это
- Параметры:
-
getDownloadUrl— Получение URL для скачивания файла в хранилище, к которому у вас есть права на чтение. Этот URL обеспечивает общедост упный доступ только для чтения к файлу.- Параметры:
bucketName(String?), содержащий файл. Если оставить пустым, используется основное хранилище связанного проекта Firebase.fullPath(String) файла, для которого нужно получить URL скачивания.
- Результат действия:
- В случае успеха результат действия — это HTTP-URL, позволяющий получить общедоступный доступ к файлу.
- Параметры:
-
getMetadataForFile— Получение метаданных для файла в любом хранилище, к которому у вас есть права на чтение.- Параметры:
bucketName(String?), содержащий файл. Если оставить пустым, используется основное хранилище связанного проекта Firebase.fullPath(String) файла, для которого нужно получить URL скачивания.
- Результат действия:
- В случае успеха результат действия — это
FullMetadataсо всеми метаданными и пользовательскими метаданными файла.
- В случае успеха результат действия — это
- Параметры:
-
updateMetadataForFile— Обновление метаданных для файла в любом хранилище, к которому у вас есть права на запись.- Параметры:
bucketName(String?), содержащий файл. Если оставить пустым, используется основное хранилище связанного проекта Firebase.fullPath(String) файла, для которого нужно получить URL скачивания.metadata(SettableMetadata), которую нужно записать в хранилище Cloud Storage для файла. Если какое-либо значение в метаданных оставлено пустым, оно остается неизменным в Cloud Storage.
- Результат действия:
- В случае успеха результат действия — это
FullMetadataсо всеми метаданными и пользовательскими метаданными файла после обновления.
- В случае успеха результат действия — это
- Параметры:
-
getPathFromUrl— Получение пути для файла на основе его URL (https:// или gs://). Это синхронный вызов, поскольку не требует обращения к серверу.- Параметры
Urlдля разбора.
- Результат действия:
- Результат действия — это
fileObject, полученный из URL.
- Результат действия — это
- Параметры
-
deleteFileFromBucket— Удаление файла из любого хранилища, к которому у вас есть права на запись.- Параметры:
bucketName(String?), содержащий файл. Если оставить пустым, используется основное хранилище связанного пр оекта Firebase.fullPath(String) файла для удаления из хранилища.
- Результат действия:
- Если действие успешно, файл удален. Дополнительной информации нет.
- Параметры:
Перечисления
StorageListType— перечисление типов элементов, которые может вернуть действиеlistAllFilesInBucket. Значения:files: Получение списка только файлов в указанном пути.prefixes: Получение списка только префиксов в указанном пути. Вы можете чаще называть их папками или каталогами, но поскольку Cloud Storage не поддерживает папки/каталоги, оно использует символы/в именах файлов для их эмуляции и называет их префиксами.filesAndPrefixes: Получение списка как файлов, так и префиксов в указанном пути.