这里我试图从给定的目录中获取所有文件名的列表。在这个URL(http://localhost:3000/dir)中,我的目录名为“/usr/local".
我正在尝试从“/ usr / local”目录中检索扩展名为“.txt”的所有文件。
由于以下错误,我无法显示文件名:
阻止跨源请求:同源策略禁止在http://localhost:3000/dir读取远程资源。 (原因:CORS标题'Access-Control-Allow-Origin'丢失了。)我如何克服这个问题。任何人都可以帮助我...
我的Sample.html:
<html>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<body>
<div id="fileNames"></div>
<script type="text/javascript">
$(window).load(function(){
var fileExt = ".txt";
$(document).ready(function(){
$.ajax({
url: 'http://localhost:3000/dir',
success: function (data) {
console.log(data);
$("#fileNames").html('<ul>');
$(data).find("a:contains(" + fileExt + ")").each(function () {
$("#fileNames").append( '<li>'+$(this).text()+'</li>');
});
$("#fileNames").append('</ul>');
}
});
});
});
</script>
</body>
</html>
答案 0 :(得分:0)
关于目录中的列表 https://nodejs.org/api/fs.html#fs_fs_readdir_path_callback
var fs=require('fs');
fs.readdir('./',function(err,files){// './' - is current directory
console.log(files);
});
关于错误 - 尝试在终端curl http://localhost:3000/dir
中执行
有两种方法 - 服务器错误或客户端错误。
答案 1 :(得分:0)
** Firstly we will have to upload files using FTP on accessible location then using this code we can get the files names. #In my case i am redirecting to the file location.
$(document).ready(function() {
GetDirectoryFiles(); //calling of function
});
function GetDirectoryFiles() { //function Definition for Get All FileNames Of Directory
$.ajax({
type: "GET",
url: "http://localhost:55304/TestViewsGoogleImgChanged/",
contentType: "application/html; charset=utf-8",
data: null,
dataType: "html",
success: function(data) {
var pagedata = $.parseHTML(data);
var tabledata = $.parseHTML(pagedata[9].innerHTML);
for (var i = 0; tabledata.length / 2; i++) {
if (tabledata[i].textContent.indexOf('.cshtml') > 0) {
window.open('http://123.com/' + tabledata[i].textContent.split(".cshtml")[0], '_blank')
}
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus + '-----' + errorThrown);
}
});
}
答案 2 :(得分:0)
使用node.js,您可以使用:
var fs = require('fs');
var files = fs.readdirSync('/usr/local/');
然后使用javascript数组.split()
功能,您可以找到并将生成的文件缩小到仅.txt文件。我不确定这是否有效,因为我自己不使用node.js,我从另一个stackoverflow问题得到了这个答案,并为你修改了它:Get list of filenames in folder with Javascript。