Как получить постоянные URI изображений с помощью React Native DocumentPicker для эффективного автоматического кэшированAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как получить постоянные URI изображений с помощью React Native DocumentPicker для эффективного автоматического кэширован

Сообщение Anonymous »

Я разрабатываю приложение React Native с expo для Android, где пользователи могут выбирать изображения с помощью React-Native-Document-Picker. Конечная цель – эффективно управлять этими изображениями и отображать их с помощью оптимизированного кэширования и управления ресурсами.
Требования:
  • Выбрать изображения: разрешить пользователям выбирать несколько изображений с помощью DocumentPicker.
  • Постоянный доступ: получить постоянный URI. или указатель на исходный файл, который остается действительным при перезапуске приложения без дублирования. файл без необходимости.
  • Эффективное кэширование. Используйте механизм кэширования (например, Expo Image) для динамической загрузки, кэширования и выгрузки изображений, избегая ручного управления ресурсами.< /li>
    Нет дубликатов без необходимости: избегайте создания ненужных копий файлов, если это явно не требуется для целей кэширования.
Текущий Настройка:
Вот код, с которым я экспериментирую:

Код: Выделить всё

const images: DocumentPickerResponse[] = await DocumentPicker.pick({
type: [DocumentPicker.types.images],
allowMultiSelection: true,
mode: "open",
});

// Trying to resolve the full path
RNFetchBlob.fs.stat(image.uri).then((stats) => {
console.log("Source URI:", stats.path); // Expected this to provide a persistent file path
});
Для отображения изображений в настоящее время я использую компонент изображения по умолчанию из React Native для проверки функциональности: Наблюдения:
  • Использование URI file://, полученных из RNFetchBlob.fs.stat() изначально работает, но не обеспечивает постоянный доступ после закрытия и повторного открытия приложения.
  • Я еще не перешел на использование Expo Image, так как сейчас тестирую вариант по умолчанию. Компонент изображения для обеспечения базовой функциональности.
Проблема:
Временные URI: эквиваленты file://, полученные с помощью таких библиотек, как Похоже, что RNFetchBlob не является постоянным, вызывая проблемы после перезапуска приложения.
Вопросы:
Как реализовать постоянную систему URI, которая беспрепятственно работает с Expo Image, обеспечивающий эффективное кэширование, загрузку и выгрузку. изображений без создания дубликатов файлов?

Примечания.

Копирование всех изображений в хранилище приложения приведет к ненужному дублированию, что неэффективно для большого приложения-галереи. . Я стараюсь избегать этого без крайней необходимости.

Буду очень признателен за любые рекомендации по реализации этого рабочего процесса. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... -efficient
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»