In diesem Tutorial erfahren Sie, wie Sie mit node.js Dateien hochladen. In diesem Tutorial geben wir Ihnen ein einfaches Beispiel für Knoten-JS mit Express-JS-Datei-Upload mit Multer. Wir können das Multer-Modul zum Hochladen von Dateien auf den Server verwenden. Multer ist eine node.js-Middleware, die für die Verarbeitung von Multipart-/Formulardaten verwendet wird, die hauptsächlich als Bibliothek zum Hochladen von Dateien verwendet wird.
Besuchen Sie das Multer-Paket: Installieren Sie das Multer-Modul
Um Dateien mit Node.js hochzuladen, befolgen wir diese Schritte.
Schritt 1: Knoten-App erstellen
Erstellen Sie in diesem Schritt eine Knotenanwendung mit dem folgenden Befehl
mkdir express_js_file_upload
cd express_js_file_upload
npm init
Schritt 2: Eingebettete JavaScript-Vorlagen (EJS) installieren
In diesem Schritt installieren wir EJS mit dem folgenden Befehl
npm install ejs
Schritt 3: Installieren Sie Express.js in der App
Installieren Sie nun Express im express_js_file_upload Verzeichnis und speichern Sie es in der Abhängigkeitsliste. Zum Beispiel:
$ npm install express --save
Schritt 4: Installieren Sie Multer in der App
In diesem Schritt installieren Sie Multer mit dem folgenden Befehl. Sie können auch den Link Multer-Modul installieren besuchen .
npm install multer
Schritt 5: Erstellen Sie File_upload_form.ejs
Erstellen Sie in diesem Schritt File_upload_form.ejs im Ordner „views“. und kopieren Sie den folgenden Code in die Datei.
<!DOCTYPE html>
<html>
<head>
<title>How To File Upload Using Node.js - Websolutionstuff</title>
</head>
<body>
<h1>How To File Upload Using Node.js - Websolutionstuff</h1>
<form action="/uploadFile" enctype="multipart/form-data" method="POST">
<span>Upload File: </span>
<input type="file" name="pic" required/> <br>
<input type="submit" value="submit">
</form>
</body>
</html>
Schritt 6: Erstellen Sie die Datei index.js
Erstellen Sie nun die Datei index.js in Ihrem App-Verzeichnis. und kopieren Sie den folgenden Code in die Datei index.js
const express = require("express")
const path = require("path")
const multer = require("multer")
const app = express()
app.set("views",path.join(__dirname,"views"))
app.set("view engine","ejs")
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, "uploads")
},
filename: function (req, file, cb) {
cb(null, file.fieldname + "-" + Date.now()+".jpg")
}
})
const maxSize = 1 * 1000 * 1000;
var upload = multer({
storage: storage,
limits: { fileSize: maxSize },
fileFilter: function (req, file, cb){
var filetypes = /jpeg|jpg|png/;
var mimetype = filetypes.test(file.mimetype);
var extname = filetypes.test(path.extname(
file.originalname).toLowerCase());
if (mimetype && extname) {
return cb(null, true);
}
cb("Error: File upload only supports the "
+ "following filetypes - " + filetypes);
}
}).single("pic");
app.get("/",function(req,res){
res.render("File_upload_form");
})
app.post("/uploadFile",function (req, res, next) {
upload(req,res,function(err) {
if(err) {
res.send(err)
}
else {
res.send("Successfully Image uploaded..!")
}
})
})
app.listen(3000);
und Ihre Dateistruktur wie im Bild unten
Hinweis: Erstellen Sie in der App einen Upload-Ordner für Store-Dateien.
Schritt 7: Führen Sie die Datei index.js aus
Führen Sie index.js mit dem folgenden Code aus
node index.js
Viel Spaß beim Codieren!!!