Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试使用HTML、Javascript和Phonegap打开Android SD卡_Javascript_Jquery_Cordova_Android Sdcard - Fatal编程技术网

尝试使用HTML、Javascript和Phonegap打开Android SD卡

尝试使用HTML、Javascript和Phonegap打开Android SD卡,javascript,jquery,cordova,android-sdcard,Javascript,Jquery,Cordova,Android Sdcard,我正试图打开SD卡,用Phonegap在Android上上传一个文件。下面是我在HTML中添加SD卡内容的代码,但没有显示任何内容。我正在使用cordova.js,jquery1.7.1.js。下面是我的代码: 我的Javascript: function onDeviceReady() { getFileSystem(); } function getFileSystem() { window.requestFileSystem(LocalFileSystem.PERSIST

我正试图打开SD卡,用Phonegap在Android上上传一个文件。下面是我在HTML中添加SD卡内容的代码,但没有显示任何内容。我正在使用
cordova.js
jquery1.7.1.js
。下面是我的代码:

我的Javascript:

function onDeviceReady() {
    getFileSystem();
}

function getFileSystem() {
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
        function(fileSystem) { // success get file system
            root = fileSystem.root;
            listDir(root);
        }, 
        function(evt) { // error get file system
            console.log("File System Error: "+evt.target.error.code);
        }
    );
}

function listDir(directoryEntry) {
    if (!directoryEntry.isDirectory) 
        console.log('listDir incorrect type');

    $.mobile.showPageLoadingMsg(); // show loading message

    currentDir = directoryEntry; // set current directory
    directoryEntry.getParent(
        function(par) { // success get parent
            parentDir = par; // set parent directory
            if ((parentDir.name == 'sdcard' && currentDir.name != 'sdcard') || parentDir.name != 'sdcard') 
                $('#backBtn').show();
        }, 
        function(error) { // error get parent
            console.log('Get parent error: ' + error.code);
        }
    );

    var directoryReader = directoryEntry.createReader();
    directoryReader.readEntries(
        function(entries) {
            var dirContent = $('#dirContent');
            dirContent.empty();

            var dirArr = new Array();
            var fileArr = new Array();
            for (var i=0; i < entries.length; ++i) { // sort entries
                var entry = entries[i];
                if (entry.isDirectory && entry.name[0] != '.') 
                    dirArr.push(entry);
                else if (entry.isFile && entry.name[0] != '.') 
                    fileArr.push(entry);
            }

            var sortedArr = dirArr.concat(fileArr); // sorted entries
            var uiBlock = ['a','b','c','d'];

            for (var i=0; i < sortedArr.length; ++i) { // show directories
                var entry = sortedArr[i];
                var blockLetter = uiBlock[i%4];
                //console.log(entry.name);
                if (entry.isDirectory)
                    dirContent.append('<div class="ui-block-' + blockLetter + '"><div class="folder"><p>' + entry.name + '</p></div></div>');
                else if (entry.isFile)
                    dirContent.append('<div class="ui-block-' + blockLetter + '"><div class="file"><p>' + entry.name + '</p></div></div>');
            }
            $.mobile.hidePageLoadingMsg(); // hide loading message
        }, 
        function(error) {
            console.log('listDir readEntries error: ' + error.code);
        }
    );
}
函数ondevicerady(){
getFileSystem();
}
函数getFileSystem(){
requestFileSystem(LocalFileSystem.PERSISTENT,0,
函数(文件系统){//成功获取文件系统
root=fileSystem.root;
listDir(根);
}, 
函数(evt){//获取文件系统时出错
log(“文件系统错误:+evt.target.Error.code”);
}
);
}
函数listDir(directoryEntry){
如果(!directoryEntry.isDirectory)
console.log('listDir类型不正确');
$.mobile.showPageLoadingMsg();//显示加载消息
currentDir=directoryEntry;//设置当前目录
directoryEntry.getParent(
函数(par){//成功获取父级
PARDENDR = PAR;/ /设置父目录
if((parentDir.name='sdcard'&¤tDir.name!='sdcard')| | parentDir.name!='sdcard')
$('#backBtn').show();
}, 
函数(错误){//error get parent
log('Get parent error:'+error.code);
}
);
var directoryReader=directoryEntry.createReader();
directoryReader.readEntries(
功能(条目){
var dirContent=$(“#dirContent”);
dirContent.empty();
var dirArr=新数组();
var fileArr=新数组();
对于(var i=0;i');
else if(entry.isFile)
dirContent.append(''+entry.name+'

'); } $.mobile.hidePageLoadingMsg();//隐藏加载消息 }, 函数(错误){ log('listDir readEntries error:'+error.code); } ); }
您看过Cordova API文档了吗?我尝试了这个示例代码,结果很好

您看过Cordova API文档了吗?我尝试了这个示例代码,结果很好

我试过了,sd卡也没打开。我不需要访问文件我需要访问sd卡并选择文件我自己上传…这可能是你的东西吗?我试过了,sd卡也没打开。我不需要访问文件我需要访问sd卡并选择文件我自己上传…这可能是你的东西吗?