当前位置: 首页 > 知识库问答 >
问题:

如何从文件夹加载html文件并将其显示为本地网页上的链接

闻人昊昊
2023-03-14

我得到了一些帮助,所以我有一些代码可以使用,但我似乎无法理解这一点,所以,我正在寻求更多的帮助。我正在处理的任务是在本地网页上显示html文件作为链接,并自动更新,因为每天都会有一个新文件夹(插入到同一根文件夹)和一个新文件。

我的问题是访问文件夹和选择的html文件这总是被称为main.html.文件夹有一个不同的名称因为它有一个日期在名称但html文件总是被称为main.html.我想更新每日页面。我使用节点和javascript。

我曾尝试查找在线教程,但它们总是只读取文件,不显示文件作为链接或定期更新。我应该用快车吗?

教程,尝试使用可写和可读的流。

  var http = require("http");
  var fs = require("fs");

  var server = http.createServer(function(req, res) {
  res.writeHead(200, { "Content-Type": "text/html" });
  var myReadStream = fs.createReadStream(__dirname + "/index.html", 
  "utf8");
  myReadStream.pipe(res);
  });

  server.listen(3000, "127.0.0.1");

  const spawn = require("child_process").spawn;
  const resolve = require("path").resolve;
  const dir = _resolve(
  require("os").homedir(),
  "(Filepath for folder that gets inserted into the folder everyday)"
  );

  function getFiles(dir, ...flags) {
  const child = spawn("ls", flags);

  return new Promise((resolve, reject) => {
    let data = "";
    child.stdout.on("data", chunk => (data += chunk.toString()));
    child.stdout.on("err", err => reject(err.toString()));
    child.stdout.on("end", () => resolve(data));
    });
  }

  function monitorFileChanges(dir) {
   watch(dir, (event, filename) => {
    console.log(event, filename);
   });
  }

我没有得到任何输出除了原始的超文本标记语言文件没有任何更多的内容。

共有1个答案

汲昊空
2023-03-14

expressjs是一个web框架,它具有一个内置函数来呈现静态文件。查看本文档,以本地方式提供静态文件。请查找运行express应用程序的代码段。

const express = require('express')
const fs = require('fs');
const app = express()
const port = 3000

// File path for folder that gets inserted into the folder everyday
const path = "/var/";

// To render files in configured path
app.use(express.static(path))

// Root Path
app.get('/', (req, res) => {
    getFileList(path);
    res.sendFile(__dirname + '/index.html');
});

//To get list of files in the folder
 function getFileList(path) {
    if (fs.existsSync(path)) {
        fs.readdir(path, function (err, files) {
            //handling error
            if (err) {
                return console.log('Unable to scan directory: ' + err);
            }
            homePage(files);
        });
    }
}

// Generate home page with the available list of files as hyperlink
function homePage(fileList) {
    let data = "<ol> \n";
    for (let file in fileList) {
        data += `<li> <a href="/${fileList[file]}"> ${fileList[file]} </li> \n`
    }
    data += "</ol>";
    fs.writeFile('index.html', data)
}

// Start express app and listen the configured port
app.listen(port, () => console.log(`App listening on port ${port}!`))
 类似资料:
  • 我想把一个html文件加载到WebView中。 请注意,在so上有很多相关的问题,但它们都涉及从资产文件夹获取**.html*。 但是我想从本地文件夹加载html文件,比如“d://abc.html”,因为如果我的html大约是10MB,那么相应的apk大小也会增加到10MB。

  • 任务:我已经创建了一个片段抽屉,在这里我有textview,文本“MyName”就在我的图像下面,然后有nav_row项,所以我想做的是,当单击该文本时,它应该将活动从MainActivity切换到profileinfo,我创建了webview,它的活动profileinfo应该加载我的html文件...所以我做的是这里--> webview xml在这里--> profileinfo活动 这是我

  • 我正在mac上学习使用chrome的selenium。 我已经设法用以下代码加载谷歌主页。 基于此,我尝试用selenium加载一个本地html文件。 Chrome以奇怪的字符串启动。 得到了这个错误。 回溯(最近一次调用last):文件“/Users/pan/selenium.py”,第11行,在驱动程序中。get(dir_path“/game/dino.html”)File“/Users/pa

  • 问题内容: 我想将CSV文件存储在服务器端,并将其动态显示为html表。例如: 应该变成这个: 欢迎使用任何语言的解决方案。 问题答案: 所述先前连接的溶液是一种可怕的一段代码; 几乎每一行都包含一个错误。使用fgetcsv代替:

  • 问题内容: 我想使用Java读取文件夹中的所有图像。 什么时候: 我按下Java应用程序中的按钮, 它应该: 在弹出窗口中询问目录的路径, 然后 从该目录加载所有图像, 然后 显示其名称,尺寸类型和尺寸。 如何进行? 我有用于读取图像以及文件夹中所有图像的代码,但是我上面所说的事情如何完成? 欢迎任何建议或帮助!请提供参考链接! 问题答案: 未经测试,因为未在装有JDK的计算机上进行测试,所以请耐