Express.js res.sendFile()函数
res.sendFile()函数基本上在给定路径传输文件,并根据文件扩展名设置 Content-Type 响应 HTTP 标头字段。
句法:
res.sendFile(path [, options] [, fn])
参数: path 参数描述路径,options 参数包含各种属性,如 maxAge、root 等,fn 是回调函数。
返回:它返回一个对象。
express 模块的安装:
- 您可以访问安装 express 模块的链接。您可以使用此命令安装此软件包。
npm install express
- 安装 express 模块后,您可以使用命令在命令提示符下检查您的 express 版本。
npm version express
- 之后,您可以创建一个文件夹并添加一个文件,例如 index.js。要运行此文件,您需要运行以下命令。
node index.js
示例 1:文件名:index.js
javascript
var express = require('express');
var app = express();
var path = require('path');
var PORT = 3000;
// Without middleware
app.get('/', function(req, res){
var options = {
root: path.join(__dirname)
};
var fileName = 'Hello.txt';
res.sendFile(fileName, options, function (err) {
if (err) {
next(err);
} else {
console.log('Sent:', fileName);
}
});
});
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});
javascript
var express = require('express');
const path = require('path');
var app = express();
var PORT = 3000;
// With middleware
app.use('/', function(req, res, next){
var options = {
root: path.join(__dirname)
};
var fileName = 'GeeksforGeeks.txt';
res.sendFile(fileName, options, function (err) {
if (err) {
next(err);
} else {
console.log('Sent:', fileName);
next();
}
});
});
app.get('/', function(req, res){
console.log("File Sent")
res.send();
});
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});
现在,创建一个 .txt 文件,就像我们在项目的根目录中创建的Hello.txt 一样,其中包含以下文本:
Greetings from GeeksforGeeks
运行程序的步骤:
- 确保您已使用以下命令安装了express模块:
npm install express
- 使用以下命令运行 index.js 文件:
node index.js
输出:
Server listening on PORT 3000
- 现在打开浏览器并转到http://localhost:3000/ ,现在检查您的控制台,您将看到以下输出:
Server listening on PORT 3000
Sent: Hello.txt
- 在屏幕上,您将看到以下输出:
Greetings from GeeksforGeeks
示例 2:文件名:index.js
javascript
var express = require('express');
const path = require('path');
var app = express();
var PORT = 3000;
// With middleware
app.use('/', function(req, res, next){
var options = {
root: path.join(__dirname)
};
var fileName = 'GeeksforGeeks.txt';
res.sendFile(fileName, options, function (err) {
if (err) {
next(err);
} else {
console.log('Sent:', fileName);
next();
}
});
});
app.get('/', function(req, res){
console.log("File Sent")
res.send();
});
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});
确保您创建了一个 .txt 文件,就像我们在项目的根目录中创建的GeeksforGeeks.txt 一样,其中包含以下文本:
Welcome from GeeksforGeeks
使用以下命令运行 index.js 文件:
node index.js
现在打开浏览器并转到http://localhost:3000/ ,现在检查您的控制台,您将看到以下输出:
Server listening on PORT 3000
Sent: GeeksforGeeks.txt
File Sent
您将在浏览器屏幕上看到以下输出:
Welcome from GeeksforGeeks
参考: https : //expressjs.com/en/5x/api.html#res.sendFile