javascript - 如何使用文件系统(HTML5)访问/探索远程(服务器)文件?

标签 javascript iphone html cordova filesystems

我有一个内置于phonegap框架中的iPhone应用程序,我正在使用文件系统访问远程文件,但我在寻找解决方案时遇到问题。

我使用以下代码列出正在运行的目录

 window.requestFileSystem(
            LocalFileSystem.TEMPORARY, 0,
            function onFileSystemSuccess(fileSystem) {

            fileSystem.root.getDirectory('test/', {create: false, exclusive: false},function(dirEntry){


                 var directoryReader = dirEntry.createReader();
                 directoryReader.readEntries(function(entries){
                 for ( i=entries.length-1; i>=0; i--) {

                 (entries[i].name.indexOf(".jpg") != -1) {
                    if(entries[i].isFile == true)
                      k++;
                        }
                }

           }
   },fail);
          },
       fail);

});

但是如果我用远程服务器 URL 替换“test/”,则会出现错误。请帮帮我。 我想列出文件并将所有文件从服务器下载到 Iphone 上的本地文件夹。

最佳答案

以下是我如何使用 JavaScript 解决类似问题:

  1. 确保网络服务器允许对您正在查询的网址进行目录访问(目录中不存在 index.html 或 index.html 文件,并且不允许目录列表;请参阅 Read remote directory with client-side javascript?)。
  2. 使用 AJAX 获取“原始”列表,然后 Create a dummy DOM element and add the string to it ,例如:

    var request = new XMLHttpRequest();
    var el = document.createElement('html');
    request.open("GET", url);
    request.onreadystatechange = function () {
        if (request.readyState === 4 && request.status === 200) {
            el.innerHTML = request.responseText;
            var myLinks = el.getElementsByTagName('a');
            var linkArray = [];
            // Extract file 'a' elements only (skip "Parent Directory," etc.):
            for (var i = 5; i < myLinks.length; i++) {
                linkArray.push(myLinks[i].href.replace(/.*\//g, ""));
            }
            console.log('files: ' + linkArray);
        }
    };
    request.send(null);
    

如果一切顺利,console.log() 语句应该打印上面给出的 url 指定的目录中包含的一系列文件。

关于javascript - 如何使用文件系统(HTML5)访问/探索远程(服务器)文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20041949/

相关文章:

javascript - 如何在 Angularjs 中访问表单值?

html - 将这个 div 居中

javascript - 带输入掩码的 UI-Bootstrap 日期选择器

javascript - 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?

javascript - 倒计时变量循环并显示数组

javascript - Instagram 克隆错误 : Objects are not valid as a React child

ios - 从 View Controller 加载 Tabbar Controller

iphone - 在 Obj C 中使用 Brad Larson GPUImage 为照片创建素描效果

iphone - 哪个移动系统适合程序员?

div 中的 CSS 自动换行