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

3
我正在使用Phonegap 3.4,以下是我的尝试:
  1. 使用相机拍照
  2. 将照片移动到文件系统上的某个位置
  3. 获取该新位置的完整路径,格式为file:///path/to/image.jpg,以便我可以将该路径放入img标签中。
现在,我无法完成第3步。
在第2步中,我获得了一个FileEntry对象。 如何从中获取我想要的格式的路径?
我尝试过FileEntry的fullPath-返回格式为/path/to/image.jpg的绝对路径和.toURL()-它返回类似于cdvfile:// localhost / persistent / path / to / file 的东西。
我知道在Android上,file:///sdcard +绝对路径可以实现此目的,但在iOS上不行。
如何才能跨所有平台实现这一点?
还是我漏掉了什么?是否有一种不同的方式来链接文件系统中的图像?
2个回答

2
如果您正在使用最新版本的文件插件 (org.apache.cordova.file),您可以在 FileEntry 上找到一个名为 toNativeURL() 的方法。使用它来替代 fullPath (或者替代 toURL())。这将使用 file:// 协议给您提供文件的完整路径。
如果该方法不在 FileEntry 上,请将您的 file 插件更新到最新版本。

正是我在寻找的! - JavaScript Warrior
1
toNativeURL() 方法在最新版本的 Cordova 文件插件中已被弃用。请改用 toURL() 方法。 - kreig

-1

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

或者,如果您想在拍照时获取URI,请设置destinationType: Camera.DestinationType.FILE_URI

以下是来自Cordova文档的示例:

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('失败原因:' + message); }

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


这个回答如何帮助 OP?你只是陈述了 OP 已经做过的事情。 - Teodor Sandu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接