html获取文件夹名称,使用JavaScript获取文件夹中的文件名列表
使用JavaScript获取文件夹中的文件名列表
我的网站包含了/assets/photos/目录中的大量图片,请详细说明如何从该目录中获取所有图片路径?
bevanb asked 2020-06-21T12:01:30Z
7个解决方案
56 votes
该代码会生成一个文件夹内所有文件的清单。假设该程序运行于服务器端以便列出所有文件:
var fs = require('fs');
var files = fs.readdirSync('/assets/photos/');
Christoffer Karlsson answered 2020-06-21T12:02:18Z
26 votes
不可以访问文件系统。然而,在服务器端的JavaScript确实是一个完全不同的情况。但我认为你可能没有注意到这一点。
Simpal Kumar answered 2020-06-21T12:02:38Z
7 votes
对于客户端文件,您无法在用户的本地目录中获得文件列表。
如果用户提供了上载的文件,则可以通过其input元素对其进行访问。
var inp = document.getElementById("get-files");
// Access and handle the files
for (i = 0; i < inp.files.length; i++) {
let file = inp.files[i];
// do things with file
}
Naltroc answered 2020-06-21T12:03:03Z
7 votes
我写一个文件dir.php
var files = <?php $out = array();
foreach (glob('file/*.html') as $filename) {
p = pathinfo(filename);
out[] = p['filename'];
}
echo json_encode($out); ?>;
在脚本中添加:
并使用files []数组
IfThenElse answered 2020-06-21T12:03:31Z
1 votes
要获取指定文件夹中的文件名列表,可以使用
fs.readdir(directory_path, callback_function)
该列表将被返回给用户。通过简单的索引方法即可解析该列表的具体内容,请参考以下示例:如file [0]所示的内容以及file [1]的具体信息。希望以上内容能有所帮助。
Ahmad Zafar answered 2020-06-21T12:03:55Z
0 votes
我借助于Firefox 69.0版本(运行于Ubuntu系统)中的分解代码功能,在本地提取文件夹,并将其展示为数码相框的一个组成部分。
该页面由HTML, CSS和JavaScript构成。
页面内容运行在同一台电脑上。
因此无法从外部获取任何图像信息
var directory=;
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", directory, false ); // false for synchronous request
xmlHttp.send( null );
var ret=xmlHttp.responseText;
var fileList=ret.split('\n');
for(i=0;i
var fileinfo=fileList[i].split(' ');
if ( fileinfo[0] == "201:" ) {
document.write(fileinfo[1]+"
");
document.write("
");
}
}
必须禁用策略security.fileuri.strict_origin_policy。
这意味着该方案可能不适合您的需求。
就个人而言,在我的看法中仍然有其价值。
pietervanderstar answered 2020-06-21T12:04:21Z
0 votes
为此,在指定目录下的所有文件上配置了不同的路由。由此可知,访问该路径将触发打开相应的文件。
function getroutes(list){
list.forEach(function(element) {
app.get("/"+ element, function(req, res) {
res.sendFile(__dirname + "/public/extracted/" + element);
});
});
我调用该函数来传递给目录__dirname/public/extracted中的文件名列表,并生成独特的路由路径,在服务器端渲染。
Tanmay_Gupta answered 2020-06-21T12:04:46Z
