phonegap代码获取要在html中发布的文件的完整路径

时间:2014-07-08 15:06:48

标签: javascript cordova

我正在为离线图书应用制作一个phonegap应用。在这里,我将一些文件保存在设备根目录下的文件夹中,并显示该文件夹中的所有文件供用户选择。当用户点击文件加载它时,我正在获取文件的完整路径并提供另一个javascript函数来加载它。

文件保存在手机根目录中的myappfolder中,我正在获取文件路径。 我的代码如下:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
function(fileSystem) {    
    fileSystem.root.getDirectory("myappfolder",
    {
        create: true
    }, function(directory) {
        var directoryReader = directory.createReader();
        directoryReader.readEntries(function(entries) {             
        if(entries.length > 0 ) {
            for (i=0; i<entries.length; i++) {
                var name = entries[i].name;
                var div1 = document.createElement('div');
                div1.className = 'books';
                div1.id = entries[i].fullPath;
                div1.innerHTML =  entries[i].name +'<hr>';
                document.getElementById('content'). appendChild(div1);
                div1.onclick =function (){
                    redirect(this.id);
                }
            }           
        }

当我使用此代码加载文件时,我

network error in file://myappfolder/file.jpg

请帮助我解决这个问题,因为我是手机新手。

我将此文件传递给另一个js函数,该函数将以翻书格式显示此文件,如果我在app文件夹中提供静态文件,它对我来说很好用

1 个答案:

答案 0 :(得分:0)

经过大量研究后我找到了解决方案:

fullPath仅从根目录提供路径,但是如果你给出

  

项[I] .toNativeUrl

它给出了文件的完整路径。上面代码的结果是

  

文件:///storage/emulated/0/myappfolder/name.pdf

这个结果来自我的手机(三星galaxy s4)

它也适用于iphone。

希望这有助于其他人。