Получить абсолютный путь к папке с ресурсами в PhoneGap
Есть ли способ получить абсолютный путь к изображению в папке с ресурсом phonegap?
Мне нужен абсолютный путь для прикрепления изображения по почте с помощью модуля EmailComposer.
Плагин EmailComposer нуждается в абсолютном пути, подобном этому:
/storage/sdcard0/DCIM/Camera/20121124_125210.jpg
Но образ, который я хочу добавить, находится в папке моих ресурсов и пути, подобном этому:
file:///android_asset/www/img/logo.png
не работает
Ответы
Ответ 1
На всякий случай, если кто-то все еще ищет решение. Теперь Cordova реализует действительно простой способ получения текущей директории приложения (поддерживается на Android, iOS и BlackBerry 10):
cordova.file.applicationDirectory
Например, если вы хотите получить доступ к аудиофайлу в вашем каталоге res/audio
(в вашем www
), вам просто нужно написать это:
cordova.file.applicationDirectory + 'res/audio/my-audio-file.mp3'
Вот полная документация
Ответ 2
Похоже, это невозможно.
См
https://groups.google.com/forum/#!topic/phonegap/Sw2wThOYm8c
От ответа Саймона в этой теме он заявляет...
"Вы не можете делать то, что хотите. Файлы в каталоге активов не являются технически в файловой системе, поэтому они недоступны через File API. Это означает, что вызывается окно. resolveLocalFileSystemURI() не вернет вас FileEntry. Он правильно возвращает код ошибки 1, который NOT_FOUND_ERR."
Вам нужен абсолютный путь файла для плагина вложений электронной почты для работы. К сожалению, если файл находится в папке с ресурсами, вы не можете использовать файл cordova api для получения абсолютного пути.
Существует плагин, который существует для копирования файлов из вашей папки с данными и размещения их на SD-карте. Затем вы можете передать точное местоположение этого файла в плагин вложений электронной почты. К сожалению, похоже, что плагин ниже устарел, если вы планируете использовать новые версии кордовы.
https://github.com/gkcgautam/Asset2SD
Ответ 3
Pass "Файл:///android_asset/www/img/logo.png" в window.resolveLocalFileSystemURI() и полученный FileEntry.fullPath является то, что вы хотите.
Посмотрите документацию для подробного примера:
http://docs.phonegap.com/en/1.5.0/phonegap_file_file.md.html