我有一个内置于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 解决类似问题:
- 确保网络服务器允许对您正在查询的网址进行目录访问(目录中不存在 index.html 或 index.html 文件,并且不允许目录列表;请参阅 Read remote directory with client-side javascript?)。
使用 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/