我觉得app/www
目录是只读的,因为它包含您的实际代码,并打包成.apk文件。尽管如此,你为什么还需要它?它仍然是在磁盘上。如果你想复制它自己的应用程序数据的分区,你应该使用你已经提到将它移到下cordova.file.externalDataDirectory或者您希望将它移到其他地方的文件插件。
更新
既然你要显示的文件与HTML图像,最简单的方法是将它读成数据URL(Base64格式),并给作为SRC图像,而不是文件路径这样
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, onFail);}
function onFail(message) {
alert('Failed because: ' + message);
}
function gotFS(fileSystem) {
fileSystem.root.getFile("<your_image_file>.jpg", null, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.file(gotFile, fail);
}
function gotFile(file){
readDataUrl(file);
}
function readDataUrl(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as data URL");
console.log(evt.target.result);
var imageData = evt.target.result;
document.getElementById("img#image1").src = imageData;
};
reader.readAsDataURL(file); // Read as Data URL (base64)
}
的结构,其代码从Pratik Sharma's answer借来的,它可能无法完全对您的情况下工作,但你应该能够从那里挑了这个念头。它依赖于你的HTML上有这种图像标签。
<img id="image1" src="" />
如想进一步了解此内容,请参阅this维基百科的文章。
好,谢谢,所以如果我将它保存在externalDataDirectory,我可以显示HTML5的形象呢?否则,我不知道如何显示图像。如果我可以将其移动到www /上传/新..我可以做类似,因为那时我不需要绝对路径。 – 2015-01-04 11:33:20
这是跨平台适用的权利?你也许有一个示例代码? :) – 2015-01-04 11:34:04
感谢您的答案,我会等待一些其他解决方案。我确实认为这可能会奏效..但是在性能方面,我不认为这是最好的解决方案,因为用户可以拥有超过50张图片。 – 2015-01-04 12:08:48