Следующий код правильно работает для файлов изображений. Но когда я пытаюсь сохранить файл PDF или другие форматы, не относящиеся к мультимедиа, я получаю сообщение об ошибке Не удалось создать актив.
Я понимаю, что expo-media-library предназначена для работы с файлами медиа-форматов.
Есть ли альтернатива expo-media-library< /em> сохранить файлы других форматов?
import * as FileSystem from 'expo-file-system'
import * as Permissions from 'expo-permissions'
import * as MediaLibrary from 'expo-media-library'
const downloadFile = async (uri: string) => {
const targetUri = FileSystem.documentDirectory + getFileName(uri)
const downloadedFile = await FileSystem.downloadAsync(uri, targetUri)
if (downloadedFile.status === 200) {
if (Platform.OS === 'android') {
const permission = await Permissions.askAsync(Permissions.MEDIA_LIBRARY)
if (permission.status !== 'granted') {
return
}
const asset = await MediaLibrary.createAssetAsync(downloadedFile.uri)
const album = await MediaLibrary.getAlbumAsync('Download')
await MediaLibrary.addAssetsToAlbumAsync([asset], album, false)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/711 ... ads-folder