Express.js res.attachment() Function (original) (raw)

Last Updated : 8 Jan, 2025

The **res.attachment() function is used to set the HTTP response Content-Disposition header field to 'attachment'. If the name of the file is given as a filename, then it sets the Content-Type based on the extension name through the res.type() function and finally sets the Content-Disposition 'filename = ' parameter.

**Syntax:

res.attachment( [filename] )

**Parameter: The filename parameter describes the name of the file.

**Return Value: It returns an Object.

**Installation of the express module:

You can visit the link to Install the 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 the 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

**Project Structure:

**Example 1: **Filename: index.js

javascript `

const express = require('express'); const app = express(); const PORT = 3000;

// Without middleware app.get('/', function (req, res) { res.attachment('Hello.txt'); console.log(res.get('Content-Disposition')); });

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

`

Place any file in the root directory of the project which can be attached, like here we have used **Hello.txt.

**Steps to run the program:

Make sure you have installed the **express module using the following command:

npm install express

Run the index.js file using the below command:

node index.js

**Output:

**Console Output:

Server listening on PORT 3000

**Browser Output:

Open your browser and go to _http://localhost:3000/, now you can see the following output on your console:

Server listening on PORT 3000
attachment; filename="Hello.txt"