Advertisement

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("

%5C%22%22+directory+fileinfo%5B1%5D+%22%5C%22

");

}

}

必须禁用策略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

全部评论 (0)

还没有任何评论哟~