获取PhoneGap中资产文件夹的绝对路径

Ces*_*sar 12 android phonegap-plugins cordova

有没有办法在phonegap资产文件夹中获取图像的绝对路径?

我需要使用EmailComposer插件在邮件中附加图像的绝对路径.

EmailComposer插件需要这样的绝对路径:

 /storage/sdcard0/DCIM/Camera/20121124_125210.jpg
Run Code Online (Sandbox Code Playgroud)

但我要附加的图像位于我的资源文件夹和这样的路径:

file:///android_asset/www/img/logo.png
Run Code Online (Sandbox Code Playgroud)

不起作用

Iva*_*ele 12

以防有人仍在寻找解决方案.现在Cordova实现了一种非常简单的方法来获取当前的应用程序目录(在Android,iOS和BlackBerry 10上受支持):

cordova.file.applicationDirectory

例如,如果要访问res/audio目录中的音频文件(在您的目录中www),您只需要编写:

cordova.file.applicationDirectory + 'res/audio/my-audio-file.mp3'

是完整的文档

  • 我相信你需要它是cordova.file.applicationDirectory +'www /'+'res/audio/my-audio-file.mp3'至少这就是iOS的行为方式. (5认同)

njt*_*man 2

看起来这是不可能的。

请参阅 https://groups.google.com/forum/#!topic/phonegap/Sw2wThOYm8c

从西蒙在那条线索中的回应中他说......

“你不能做你想做的事。从技术上讲,资产目录中的文件不在文件系统上,因此无法通过文件 API 访问它们。这意味着调用 window.resolveLocalFileSystemURI() 不会返回 FileEntry。它正确返回错误代码 1,即 NOT_FOUND_ERR。”

您需要文件的绝对路径才能使电子邮件附件插件正常工作。不幸的是,如果文件位于 asset 文件夹中,则无法使用 cordova 的文件 api 来获取绝对路径。

有一个插件可以将文件从资产文件夹中复制出来并将其放置到 SD 卡上。然后,您可以将该文件的确切位置传递给电子邮件附件插件。不幸的是,如果您计划使用较新的 cordova 版本,那么下面的插件似乎已经过时。

https://github.com/gkcgautam/Asset2SD