Cordova 3.6 возвращает путь к данным конкретного приложения вместо внешнего доступного пути
Я работаю с приложением mobilefirst/worklight, которое использует cordova в качестве платформы. Мое предыдущее приложение было на мобильном сначала 6.1, которое использует Cordova версии 3.1. Сейчас я обновляю свое приложение до версии mobilefirst 7.1(переименованной из worklight), в которой используется версия cordova 3.6.
Для доступа к файловой системе я использую
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys){
var path = fileSys.root.fullPath;
//Output : file://storage/emulated/0 <-- Cordova 3.1 For Android
//Output : / <-- Cordova 3.6 For Android
});
Поскольку кордова изменила структуру после версии 3.3, я изменил fullPath на toURL();
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys){
var path = fileSys.root.toURL();
//Output : file://data/0/com.MyApp/files/files <-- Cordova 3.6 For Android
});
Проблема в том, что он дает мне путь к данным приложения. Я храню данные, которые должны быть доступны извне, как ранее было -file://storage/emulated/0.
Есть ли какие-либо методы в файловой системе, которая возвращает мне путь, который доступен из другого приложения? Это должно работать на IOS также.
1 ответ
Я нашел решение здесь: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/
Я могу использовать cordova.file.externalRootDirectory вместо fileSys.root.toURL().