Express.js res.sendFile() Function

03 Sep, 2021
The res.sendFile() function basically transfers the file at the given path and it sets the Content-Type response HTTP header field based on the filename extension. Syntax: 
res.sendFile(path [, options] [, fn])
Parameter: The path parameter describes the path and the options parameter contains various properties like maxAge, root, etc and fn is the callback function.Returns: It returns an Object.Installation of express module: 
You can visit the link to Install express module. You can install this package by using this command. 
npm install express
After installing the express module, you can check your express version in command prompt using the command. 
npm version express
After that, you can just create a folder and add a file for example, index.js. To run this file you need to run the following command. 
node index.js
Example 1: Filename: index.js 
javascript
var express = require('express');var app = express();var path = require('path');var PORT = 3000; // Without middlewareapp.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);});
Now, create a .txt file like here we have created Hello.txt in the root directory of project with the following text:  
Greetings from GeeksforGeeks
Steps to run the program: 
Make sure you have installed express module using the following command: 
npm install express
Run index.js file using below command: 
node index.js
Output: 
Server listening on PORT 3000
Now open browser and go to http://localhost:3000/, now check your console and you will see the following output: 
Server listening on PORT 3000
Sent: Hello.txt
And on screen you will see the following output: 
Greetings from GeeksforGeeks
Example 2: Filename: index.js 
javascript
var express = require('express');const path = require('path');var app = express();var PORT = 3000; // With middlewareapp.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);});
Make sure you create a .txt file like here we have created GeeksforGeeks.txt in the root directory of project with the following text:  
Welcome from GeeksforGeeks
Run index.js file using below command:  
node index.js
Now open the browser and go to http://localhost:3000/, now check your console and you will see the following output:  
Server listening on PORT 3000
Sent: GeeksforGeeks.txt
File Sent
And you will see the following output on your browser screen:  
Welcome from GeeksforGeeks
Reference: https://expressjs.com/en/5x/api.html#res.sendFile
kapoorsagar226
Express.js
Node.js
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Node.js fs.writeFile() Method
How to install the previous version of node.js and npm ?
Difference between promise and async await in Node.js
Mongoose | findByIdAndUpdate() Function
Installation of Node.js on Windows
Top 10 Projects For Beginners To Practice HTML and CSS Skills
Difference between var, let and const keywords in JavaScript
How to insert spaces/tabs in text using HTML/CSS?
How to fetch data from an API in ReactJS ?
Differences between Functional Components and Class Components in React