如何在HTML内部的BlackBerry WebWorks上访问使用文件系统API存储的数据?

时间:2014-01-20 21:16:33

标签: cordova blackberry-webworks

如果我使用文件系统API保存文件,并且我得到文件的URL,它会给我一个“filesystem:local://”位置,我不能列入白名单,系统告诉我URL是无效。如何将这些文件嵌入到我的HTML中?

1 个答案:

答案 0 :(得分:2)

首先,您需要安装io webworks插件。 GitHub上有一个Cordova版本。只需下载zip文件并运行以下命令:

cordova plugin add /path/to/zip/plugin/com.blackberry.io

然后在你的config.xml中,你需要添加:

<access origin="file:///accounts" subdomains="true"/>

现在,当你调用FileEntry.getURL()时,你需要像这样改变结果:

var regex = new RegExp('^filesystem:local:///([^/]+)/(.*)$');
var url = FileEntry.getURL();
url = url.replace(regex,'file://'+blackberry.io.home+'/webviews/webfs/$1/local__0/$2');

生成的URL看起来像这样:

file:///accounts/1000/appdata/your.app.id.testDev_ting_f95ecbe/data/webviews/webfs/persistent/local__0/your/file

然后,您可以使用该网址将内容嵌入HTML:

<img src="file:///accounts/1000/appdata/your.app.id.testDev_ting_f95ecbe/data/webviews/webfs/persistent/local__0/myimg.png">

希望有所帮助!