迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Node.js >

Node.js 发送文件到客户端

作者:迹忆客 最近更新:2023/03/27 浏览次数:

在本文中,我们将学习如何使用 Express 在 Node.js 中向客户端发送文件。


在 Node.js 中使用 Express 发送文件

Express.jsExpress 是 Node.js 的后端 Web 实用程序框架。 Express 是一个 Node.js Web 应用程序框架,可为 Web 和移动应用程序提供强大的特性集。

函数 res.sendFile() 传递指定路径中的文件,并根据文件扩展名设置内容类型响应的 HTTP 标头字段。

语法:

res.sendFile(path [, options] [, fn])
参数 说明
path 一个强制参数,描述需要发送的文件的路径。
options 一个可选参数,包含正在发送的文件的各种属性,例如 maxAge、root 等。
fn 文件时调用的回调函数。

按照以下说明将文件发送给客户端。

完整的源代码 - index.js

const express = require('express');
const app = express();
const path = require('path');
const PORT = 3001;

app.get('/', (req, res, next) => {
    const fileName = 'helloworld.txt';
    res.sendFile(fileName, {root: path.join(__dirname)}, (err) => {
        if (err) {
            next(err);
        } else {
            console.log('File Sent:', fileName);
        }
    });
});

app.listen(PORT, (err) => {
    if (err) console.log(err);
    console.log("Server listening on PORT", PORT);
});

在上面的例子中,我们创建了一个监听指定端口 3001 的服务器,一旦服务器监听到指定的端口,它就会执行第一个匹配路由里面的代码。

然后响应对象将通过 sendFile() 方法返回给客户端。 如果遇到任何错误,它将使用 next() 方法将错误传递给错误处理程序。

如果一切顺利,它会将响应对象与文件内容一起返回给客户端。

尝试在支持 Node.js 的 replit 中运行上面的代码,它会显示如下结果。

输出:

Server listening on PORT 3001
File Sent: helloworld.txt

在 Node.js 中使用 Express 发送文件

上一篇:Node.js 中的 HTTP 发送 POST 请求

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Node.js 中编码 URL

发布时间:2023/03/27 浏览次数:201 分类:Node.js

在这篇简短的文章中,我们将学习如何在 Node.js 中进行 URL 编码。

在 Node.js 中编码 Base64

发布时间:2023/03/27 浏览次数:155 分类:Node.js

在本文中,我们将学习如何在 Node.js 中将字符串或文本转换为 base64。

Node.js 与 React JS 的比较

发布时间:2023/03/27 浏览次数:137 分类:Node.js

本文比较和对比了两种编程语言,Node.js 和 React。React 和 Node.js 都是开源 JavaScript 库的示例。 这些库用于构建用户界面和服务器端应用程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便