Я делаю веб-приложение, которое создает курсы и получает данные (модули, уроки, включая тексты, изображения, аудио, видео) из файла JSON.
Люди могут обмениваться курсами без использования Интернета. Курс структурирован в папке следующим образом:
course.json
./audio
./video
./documents
./images
Он может работать полностью в автономном режиме, без сервера — до тех пор, пока папки данных находятся внутри приложения (то есть папка html). Но когда JSON находится в другом месте (скажем, в загрузках, Bluetooth или документах), будут показаны сами данные JSON, но не данные (изображения и т. д.), на которые они указывают.
Это ожидаемое поведение, и его можно решить, просто переместив папки JSON и данных в нужное место. (что пока приемлемо, но не в долгосрочной перспективе)
But when I use Cordova to create an Android app, that won't be possible. And it looks like the file API doesn't have a solution for this.
Поэтому я хотел бы использовать файл JSON, где бы он ни находился, в качестве корня для получения других данных или для возможности импорта всей папки в приложение.
Есть ли варианты? Или стоит полностью родной перейти?
ОБНОВИТЬ
Похоже, невозможно получить то, что мне нужно (путь к файлу json, выбранному пользователем, для пересоздания ссылок в атрибутах src).
Таким образом, единственная возможность — позволить пользователям сохранять файлы курса в определенном месте (например, в «Загрузках» или «Документах»).
Поскольку, в конце концов, я хочу сделать курсы загружаемыми в виде zip-файла, я выбираю вариант распаковать его в приложение — кажется, это самое простое решение.