获取设备独立路径到Phonegap中的图像

时间:2014-03-16 02:21:59

标签: javascript cordova

我正在使用Phonegap 3.4,这就是我要做的事情:

  1. 使用相机拍照
  2. 将该照片移至文件系统上的某个位置
  3. 获取新位置的整个路径 - 格式为file:///path/to/image.jpg,因此我可以将该路径放在img标记中。
  4. 现在,我无法弄清楚数字3 在第2步中,我得到一个FileEntry对象。如何以我想要的格式获取路径?
    我尝试了FileEntry的fullPath - 返回格式为/path/to/image.jpg和.toURL()的绝对路径,返回类似cdvfile://localhost/persistent/path/to/file

    的内容

    我知道file:///sdcard +绝对路径适用于Android,但不适用于iOS。

    我如何实现这一目标,以便适用于所有平台? 或者我错过了什么?是否有不同的方式链接到文件系统上的图像?

2 个答案:

答案 0 :(得分:2)

如果您使用的是最新版本的文件插件( org.apache.cordova.file ),则可以找到名为 toNativeURL()的方法 FileEntry 上的。使用它代替 fullPath (或代替 toURL())。这将使用 file:// 协议为您提供文件的完整路径。

如果此方法不在 FileEntry 上,请将文件插件更新为最新版本。

答案 1 :(得分:-1)

如果您有文件条目,则可以使用方法.toURL()

或者如果你想在拍照时设置destinationType:相机.DestinationType.FILE_URI

以下是来自cordova docs的示例:

navigator.camera.getPicture(onSuccess,onFail,{quality:50,     destinationType:Camera.DestinationType.FILE_URI});

function onSuccess(imageURI){     var image = document.getElementById('myImage');     image.src = imageURI; }

function onFail(message){     alert('失败原因:'+消息); }

有关相机和文件插件的更多信息Apis请查看Apis的文档 http://cordova.apache.org/docs/en/3.4.0/cordova_plugins_pluginapis.md.html#Plugin%20APIs