使用Node.js读取和显示文件夹内容的代码示例

一、初步认识Node.js

首先,Node.js是一个基于Chrome JavaScript 运行时建立的平台。Node.js使得JavaScript可以在服务器端运行,具有实时 Web 应用程序处理能力。更重要的是,Node.js在运行时采用了事件驱动、非阻塞 I/O 模型,使得它非常适用于数据密集型分布式应用。简单的说,Node.js可以帮助我们处理后端以及文件相关的任务。

二、使用Node.js读取文件夹内容

在 Node.js 中,文件可以使用 File System 模块来访问。我们可以使用该模块中的readdirSync函数来列出文件夹中的所有文件。下面是一个列出文件夹内容的示例代码:

const fs = require('fs');
const dirPath = './';

fs.readdirSync(dirPath).forEach(file => {
  console.log(file);
});

这段代码列出了当前文件夹的所有文件。代码中使用了 Node.js 的内置 File System 模块中的 readdirSync 函数和 forEach 方法来遍历文件夹中的所有文件。

三、使用Node.js将文件夹内容显示在网页上

如果我们想要将文件夹的内容直接显示在网页上,那么可以使用 Node.js 的 HTTP 模块来实现。我们可以通过HTTP模块来创建服务器,并在响应对象中发送文件夹内容。以下是Node.js将文件夹内容显示在网页上的代码:

const http = require('http');
const fs = require('fs');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  fs.readdir('./', function(err, files) {
      if (err) throw err;
      res.write('
    '); files.forEach(function(file) { res.write('
  • ' + file + '
  • '); }); res.write('
'); res.end(); }); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });

这段代码创建了一个服务器,并使用 HTTP 模块调用 createServer 函数进行创建。在 createServer 中,我们使用 fs.readdir 函数来读取文件夹,读取成功后我们通过 res.write 的方式将读取到的文件直接写在了响应对象中,最后通过 res.end 方法来结束响应。

四、使用Node.js在网页上显示文件夹图片

在上一个示例中,我们显示了文件夹中的文件名。如果我们想要在网页中显示图片,那么应该怎么处理呢?

在 Node.js 中,可以使用 Buffer 对象 读取图像文件,并且可以将其转换成 Base64 编码格式。另外,Base64 编码格式就是一种将二进制数据转换成 ASCII 字符的编码方式。

下面是一个读取图片并将其显示在网页上的示例代码:

const http = require('http');
const fs = require('fs');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  fs.readFile('./abc.jpg', function(err, data) {
      if (err) {
        console.error(err);
        res.end();
      } else {
        const base64Image = Buffer.from(data, 'binary').toString('base64');
        res.write(``);
        res.end();
      }
  });
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

这段代码使用了 HTTP 模块创建了一个服务器,并读取了 abc.jpg 文件。读取成功后,我们使用 Node.js 中的 Buffer.from 函数将读取到的字节数据转换成 Base64 格式,然后将其作为 src 属性传递给 img 标签,最后我们通过 res.end 方法结束响应。

五、总结

我们通过以上示例代码,可以大概了解 Node.js 如何读取和显示文件夹内容。如果我们想要进一步了解 Node.js,在实践中多进行探索和尝试,可以更好的掌握这一领域。

原创文章,作者:COXY,如若转载,请注明出处:https://www.506064.com/n/142181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
COXYCOXY
上一篇 2024-10-10 09:25
下一篇 2024-10-10 09:25

相关推荐

  • Idea新建文件夹没有java class的解决方法

    如果你在Idea中新建了一个文件夹,却没有Java Class,应该如何解决呢?下面从多个方面来进行解答。 一、检查Idea设置 首先,我们应该检查Idea的设置是否正确。打开Id…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • 仓库管理系统代码设计Python

    这篇文章将详细探讨如何设计一个基于Python的仓库管理系统。 一、基本需求 在着手设计之前,我们首先需要确定仓库管理系统的基本需求。 我们可以将需求分为以下几个方面: 1、库存管…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • 怎么写不影响Python运行的长段代码

    在Python编程的过程中,我们不可避免地需要编写一些长段代码,包括函数、类、复杂的控制语句等等。在编写这些代码时,我们需要考虑代码可读性、易用性以及对Python运行性能的影响。…

    编程 2025-04-29
  • 北化教务管理系统介绍及开发代码示例

    本文将从多个方面对北化教务管理系统进行介绍及开发代码示例,帮助开发者更好地理解和应用该系统。 一、项目介绍 北化教务管理系统是一款针对高校学生和教职工的综合信息管理系统。系统实现的…

    编程 2025-04-29

发表回复

登录后才能评论