簡體   English   中英

如何使用文件系統(HTML5)訪問/瀏覽遠程(服務器)文件?

[英]How to access/ explore remote(server) files using Filesystem (HTML5)?

我有一個內置在phonegap框架中的iPhone應用程序,我正在使用Filesystem訪問遠程文件,但是我找不到解決方案。

我已經使用以下代碼列出正在運行的目錄

 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);

});

但是,如果我將“ test /”替換為遠程服務器網址,則會收到錯誤消息。 請幫幫我。 我想列出文件並將所有文件從服務器下載到Iphone上的本地文件夾。

這是我使用JavaScript解決類似問題的方法:

  1. 確保Web服務器允許目錄訪問您查詢的url(目錄中沒有index.html或index.html文件,並且不允許目錄列表;請參閱使用客戶端javascript讀取遠程目錄? )。
  2. 使用AJAX獲得“原始”列表,然后創建一個虛擬DOM元素並將字符串添加到其中 ,例如:

     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指定的目錄中的一系列文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM