Node.js Datei an Client senden

Shraddha Paghdar 15 Februar 2024
Node.js Datei an Client senden

In diesem Artikel erfahren Sie, wie Sie Dateien in Node.js mit Express an den Client senden.

Verwenden Sie Express zum Senden von Dateien in Node.js

Express.js oder Express ist ein Back-End-Webdienstprogramm-Framework für Node.js. Express ist ein Node.js-Framework für Webanwendungen, das einen robusten Merkmalssatz für Web- und mobile Anwendungen bereitstellt.

Die Funktion res.sendFile() übergibt die Datei im angegebenen Pfad und setzt das HTTP header-Feld für die content-type-Antwort basierend auf der Dateinamenserweiterung.

Syntax:

res.sendFile(path[, options][, fn])
Parameter Beschreibung
path Ein obligatorischer Parameter, der den Pfad der zu sendenden Datei beschreibt.
options Ein optionaler Parameter, der verschiedene Eigenschaften wie maxAge, root usw. der gesendeten Datei enthält.
fn Eine Callback-Funktion, die aufgerufen wird, wenn die Datei.

Befolgen Sie die nachstehenden Anweisungen, um die Datei an den Client zu senden.

  1. Installieren Sie das Express-Paket.

    $ npm install express
    
  2. Erstellen Sie eine index.js-Datei und führen Sie den folgenden Befehl aus.

    node index.js
    
  3. Erstellen Sie eine helloworld.txt-Datei.

    Hello World!
    
  4. Führen Sie die Datei index.js aus, indem Sie das unten stehende Code-Snippet übergeben.

Vollständiger Quellcode - 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);
});

Im obigen Beispiel haben wir einen Server erstellt, der auf dem angegebenen port 3001 lauscht. Sobald der Server den angegebenen Port abhört, führt er den Code innerhalb der ersten übereinstimmenden Route aus.

Das Response-Objekt wird dann mit der Methode sendFile() an den Client zurückgesendet. Wenn ein Fehler auftritt, wird der Fehler mithilfe der Methode next() an die Fehlerbehandlungsroutine übergeben.

Wenn alles reibungslos verläuft, wird das Response-Objekt mit dem Inhalt der Datei an den Client zurückgegeben.

Versuchen Sie, den obigen Code in replit auszuführen, das Node.js unterstützt, und es wird das folgende Ergebnis angezeigt.

Ausgang:

Server listening on PORT 3001
File Sent: helloworld.txt

Verwenden Sie Express zum Senden von Dateien in Node.js

Code-Demo ausführen

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn