获取给定目录中的文件名 jQuery
Get filenames in a given directory jQuery
我想要获取文件名列表,稍后将其存储到一个数组中。下面的代码只是以与在浏览器中显示 Apache 列表相同的方式显示目录列表,例如。 G。 1234.txt 31-Aug-2016 13:17 35K
如何更改它,让我只得到文件名?
<script type="text/javascript">
$(document).ready(function () {
$.get("dat/", function(data) {
$("#files").append(data);
});
});
</script>
<body>
<div id='files'></div>
</body>
请尝试使用以下代码。 openFile 函数可用于检查它是文件还是文件夹。请根据您的使用添加更多功能扩展。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
var fileNames = new Array();
$.ajax({
url: "/test/",
success: function(data){
$(data).find("td > a").each(function(){
if(openFile($(this).attr("href"))){
fileNames.push($(this).attr("href"));
}
});
}
});
console.log(fileNames);
function openFile(file) {
var extension = file.substr( (file.lastIndexOf('.') +1) );
switch(extension) {
case 'jpg':
case 'png':
case 'gif': // the alert ended with pdf instead of gif.
case 'zip':
case 'rar':
case 'pdf':
case 'php':
case 'doc':
case 'docx':
case 'xls':
case 'xlsx':
return true;
default:
return false;
}
};
</script>
我运行陷入了类似的问题。我需要从指定目录加载所有文件名。所以我做了一个函数
function loadFileNames(dir) {
return new Promise((resolve, reject) => {
try {
var fileNames = new Array();
$.ajax({
url: dir,
success: function (data) {
for(var i = 1; i < $(data).find('li span.name').length; i++){
var elem = $(data).find('li span.name')[i];
fileNames.push(elem.innerHTML);
}
return resolve(fileNames);
}
});
} catch (ex) {
return reject(new Error(ex));
}
});
}
那么你可以这样调用这个函数
loadFileNames('/resource/seed/files')
.then((data) => {
console.log(data);
})
.catch((error) => {
alert('Files could not be loaded. please check console for details');
console.error(error);
});
我想要获取文件名列表,稍后将其存储到一个数组中。下面的代码只是以与在浏览器中显示 Apache 列表相同的方式显示目录列表,例如。 G。 1234.txt 31-Aug-2016 13:17 35K
如何更改它,让我只得到文件名?
<script type="text/javascript">
$(document).ready(function () {
$.get("dat/", function(data) {
$("#files").append(data);
});
});
</script>
<body>
<div id='files'></div>
</body>
请尝试使用以下代码。 openFile 函数可用于检查它是文件还是文件夹。请根据您的使用添加更多功能扩展。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
var fileNames = new Array();
$.ajax({
url: "/test/",
success: function(data){
$(data).find("td > a").each(function(){
if(openFile($(this).attr("href"))){
fileNames.push($(this).attr("href"));
}
});
}
});
console.log(fileNames);
function openFile(file) {
var extension = file.substr( (file.lastIndexOf('.') +1) );
switch(extension) {
case 'jpg':
case 'png':
case 'gif': // the alert ended with pdf instead of gif.
case 'zip':
case 'rar':
case 'pdf':
case 'php':
case 'doc':
case 'docx':
case 'xls':
case 'xlsx':
return true;
default:
return false;
}
};
</script>
我运行陷入了类似的问题。我需要从指定目录加载所有文件名。所以我做了一个函数
function loadFileNames(dir) {
return new Promise((resolve, reject) => {
try {
var fileNames = new Array();
$.ajax({
url: dir,
success: function (data) {
for(var i = 1; i < $(data).find('li span.name').length; i++){
var elem = $(data).find('li span.name')[i];
fileNames.push(elem.innerHTML);
}
return resolve(fileNames);
}
});
} catch (ex) {
return reject(new Error(ex));
}
});
}
那么你可以这样调用这个函数
loadFileNames('/resource/seed/files')
.then((data) => {
console.log(data);
})
.catch((error) => {
alert('Files could not be loaded. please check console for details');
console.error(error);
});