Я использую плагин камеры Cordova в ионном приложении. Все работает как ожидается на iOS. На Android, когда SourceType установлен в CAMERA и DestinationType установлен в FILE_URI, он работает, как ожидалось, возвращая этот путь: файла: /// хранение/эмулировать/0/Android/данные/ком .myappname.myapp/кэш/imageName.jpgCordova Camera Plugin Android добавляет дополнительную информацию в конец FILE_URI
Однако, когда SourceType установлен в PhotoLibrary или SAVEDPHOTOALBUM и тип назначения устанавливается в FILE_URI, он возвращает путь с дополнительной информацией (а именно строка запроса) в конце файла, что делает невозможным загрузку и использование этого файла (т. е. с Cor dovaFileTransfer). Путь он возвращается, как это: файла: ///storage/emulated/0/Android/data/com.myappname.myapp/cache/image.jpg 12764830288374
проблемы является строкой запроса ? ? 12764830288374 на конце. Я понимаю, что это делается для кеширования проблем в браузерах, но почему камера Cordova возвращает FILE_URI таким образом и что можно сделать, чтобы изменить ее?
Я понимаю, что могу просто удалить все на пути после вопросительного знака, но это похоже на хакерское решение. Я хотел бы знать, почему он возвращает путь таким образом и как правильно его исправить.
Примечание: Я также попытался вернуть его как NATIVE_URI, и те же проблемы остаются верными - он добавляет вопросительный знак со списком номеров в конец пути к файлу, который предотвращает правильную загрузку файла cordovaFileTransfer.
Это возвращает изображение, которое уже сохранено на телефоне (из PHOTOGALLERY или SAVEDPHOTOALBUM), что означает, что у каждого изображения есть свое имя. Таким образом, имя файла отличается в каждом соответствующем URL-адресе. Так что кеширование не будет проблемой? –
Я просто говорю, что это стратегия, используемая для принудительного обновления кеша. Это ответ на вопрос «Почему это?» – Automatico
Получил. Тогда это отвечает на эту часть. Любая идея, что делать, чтобы избавиться от нее через камеру Cordova? –