Node js App显示文件夹文件

时间:2018-05-24 05:52:15

标签: node.js

我正在尝试从文件夹中显示文件列表。 我的文件夹结构如下所示

发票  错误  2.已处理  3.未处理的

我已经创建了节点api,我在html页面上调用了它。代码相同如下

const fs = require('fs');

var express = require('express');

var cors = require('cors');

var app = express();

app.use(cors());

app.use(express.static(__dirname));

var flength;
var filename;
var currentFile;
var items = [];
var dir1 = 'Invoices';
var filepath = [];

var readFolder = function(dir1) {

    var countt = function(filename) {

        var currentFile = dir1 + '/' + filename;
        fs.readdir(currentFile, (err, files) => {
            flength = files.length;
            var fileArrayList = [];
            for (var f in files) {
                var record = {
                    filename: files[f],
                    filepath: dir1 + '/' + filename + '/' + files[f]
                }
                fileArrayList.push(record);
            }
            items.push({
                'file': filename,
                'count': flength,
                'files': fileArrayList
            });
        });
    }

    var ReadFirst = function(dir1) {
        fs.readdir(dir1, (err, files) => {
            for (var i in files) {
                var filename = files[i];
                var currentFile = dir1 + '/' + filename;
                var stats = fs.statSync(currentFile);
                if (stats.isDirectory()) {
                    countt(filename);
                }
            }
        });
    }
    ReadFirst(dir1);
}

setTimeout(function(str1, str2) {
    readFolder(dir1);
}, 1000);

app.get('/FileCount', function(req, res) {
    res.send(items);
});

app.listen(4000);
console.log('Listening on port 4000');

当我添加或删除任何文件夹中的文件时,它没有反映在我的html page.need帮助中。

谢谢。

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为你实现了这种方式。

  1. 您的客户端(HTML页面)请求服务器(NodeJS)API 一些数据。在这种情况下,它是文件夹中的文件列表。服务器根据当时文件的状态(加上Δ)发送响应。

  2. 您可以在HTML页面中显示这些结果。现在,HTML页面和后端服务器之间没有实时链接。这意味着在此点之后发生的任何更改都不会自动反映在页面中。

  3. 你可以在这里做两件事:

  4. 这是一个设计问题,您的NodeJS API看起来很好。