从cordova html页面(cordova)加载保存在iOS App Documents目录中的图像?

我已经构build了一个应用程序,必须在iOS,Android和Windows Phone上运行。 除iOS之外,所有工作都很好。 我的应用程序使用相机拍摄照片,调整图像大小并保存图像。

在iOS上,这些图像被保存到正在被删除的应用程序的tmp目录中,所以现在我将图像保存到Documents文件夹中。

然后我把这个图像的path保存到我的sqlite数据库。 在我的html页面上,我使用url引用文件,例如

无功/移动/应用/ GUID-HERE /文档/ imageName.jpg

现在看来,当我在xCode重build我的应用程序,应用程序guid被改变,所以我以前保存的所有文件引用,现在是无效的。

所以

  1. 我可以从我的HTML页面相对引用文档文件夹吗?

要么

  1. 我可以停止我的应用程序更改此GUID?

使用File插件的toInternalURL()属性。 保存图像后,您可以获取没有该GUID的本地URL,并将其保存到数据库中。 该url具有这种格式

 cdvfile://localhost/persistent/path/to/file 

文档

一个例子:(主要来自文件传输文档需要文件和文件传输插件)

 resolveLocalFileSystemURL(cordova.file.documentsDirectory, function success(entry) { download(entry.toInternalURL() + "image.jpg"); }); var download = function(localUrl) { var fileTransfer = new FileTransfer(); var uri = encodeURI("https://cordova.apache.org/images/cordova_bot.png"); fileTransfer.download( uri, localUrl, function(entry) { document.body.innerHTML = entry.toInternalURL(); var img = document.createElement("img"); img.setAttribute('src', entry.toInternalURL()); document.body.appendChild(img); }, function(error) { console.log("error code" + error.code); }, false, { headers: { "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA==" } } ); } 

IMG