Подтвердить что ты не робот

Получить абсолютный путь к папке с ресурсами в PhoneGap

Есть ли способ получить абсолютный путь к изображению в папке с ресурсом phonegap?

Мне нужен абсолютный путь для прикрепления изображения по почте с помощью модуля EmailComposer.

Плагин EmailComposer нуждается в абсолютном пути, подобном этому:

 /storage/sdcard0/DCIM/Camera/20121124_125210.jpg

Но образ, который я хочу добавить, находится в папке моих ресурсов и пути, подобном этому:

file:///android_asset/www/img/logo.png

не работает

4b9b3361

Ответ 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