So schreiben Sie den Stammpfad des NodeJS-Bild-Uploads

PHPz
Freigeben: 2023-04-05 10:41:17
Original
610 Leute haben es durchsucht

Mit der Popularisierung mobiler Internet- und Webanwendungen werden Bilder als wichtiger Träger für die Informationsübertragung in verschiedenen Anwendungsszenarien häufig verwendet und deren Hochladen und Anzeigen sind eine häufige Anforderung. In der Webentwicklung bietet Node.js als leichte serverseitige Laufumgebung eine schnelle und effiziente Entwicklungsmethode. In diesem Artikel werden das Hochladen von Bildern und die Konfiguration des Root-Pfads in Node.js vorgestellt.

1. Node.js-Bild-Upload

Um das Bild-Upload in Node.js zu implementieren, ist es sehr praktisch, dieses Modul zu verwenden , und konfigurieren Sie es dann entsprechend im Code Can.

Installieren Sie das Express-Datei-Upload-Modul:

npm install --save express-fileupload
Nach dem Login kopieren

Dann verweisen Sie auf das Modul im Code:

const fileUpload = require('express-fileupload');
Nach dem Login kopieren

Verwenden Sie das Modul und konfigurieren Sie den Upload-Pfad, die Grenzgröße usw.:

app.use(fileUpload({ limits: { fileSize: 50 * 1024 * 1024 }, //限制文件大小 useTempFiles: true, tempFileDir: '/tmp/', uploadTimeout: 120000, //上传时间 abortOnLimit:true, createParentPath:true //创建父级路径 }));
Nach dem Login kopieren

Im obigen Codelimitsbegrenzt den Upload. Die maximale Größe einer Datei beträgt 50 MB.useTempFilesbedeutet die Verwendung eines temporären Ordners zum Speichern hochgeladener Dateien.tempFileDirbedeutet die Angabe eines temporären Ordnerpfads code>uploadTimeout bedeutet die Upload-Zeit,abortOnLimitgibt an, ob der Upload abgebrochen werden soll, wenn die Dateigrößenbeschränkung überschritten wird, undcreateParentPathgibt an, ob ein übergeordneter Pfad erstellt werden soll.limits限制了上传文件的最大大小为 50MB,useTempFiles表示使用临时文件夹存储上传的文件,tempFileDir表示指定临时文件夹路径,uploadTimeout表示上传时间,abortOnLimit表示超过文件大小限制时是否终止上传,createParentPath表示是否创建父级路径。

在路由中处理上传请求,使用moveTo方法将上传的文件移动到指定的目录,完成文件上传操作。

app.post('/upload', (req, res) => { if (!req.files) { return res.status(400).send('No files were uploaded.'); //上传失败返回错误提示 } const file = req.files.file; //获取文件对象 file.mv('/path/to/upload/folder/' + file.name, (err) => { //将文件移动到指定的目录并重新命名 if (err) { return res.status(500).send(err); } res.send('File uploaded!'); }); });
Nach dem Login kopieren

以上代码中,file对象表示上传的文件,使用mv方法将文件移动到指定目录,并重新命名该文件。

二、Node.js 根路径配置

在 Node.js 中,可以使用全局变量__dirname获取当前执行脚本所在目录的完整路径,一般使用该变量作为根路径,处理文件时可以使用路径拼接方式来写相对路径。

例如,在 Express 框架中配置静态文件目录,通常会使用根路径作为静态文件目录的前缀,以避免路径错误。

app.use(express.static(__dirname + '/public'));
Nach dem Login kopieren

以上代码中,公共文件的目录为public,使用__dirname拼接该目录的相对路径,可以确保应用启动时读取的是正确的路径。

三、Node.js 图片上传根路径的写法

在实现 Node.js 图片上传时,通常需要指定上传图片的存储路径。为避免出现路径错误,可以使用根路径加相对路径的方式进行路径拼接。

例如,配置图片上传路径为根路径下的uploads文件夹,可以写如下代码:

const UPLOAD_PATH = __dirname + '/uploads'; file.mv(UPLOAD_PATH + '/' + file.name, (err) => { if (err) { return res.status(500).send(err); } res.send('File uploaded!'); });
Nach dem Login kopieren

以上代码中,UPLOAD_PATH

Verarbeiten Sie die Upload-Anfrage in der Route, verschieben Sie die hochgeladene Datei mit der Methode moveToin das angegebene Verzeichnis und schließen Sie den Datei-Upload-Vorgang ab.

rrreee

Im obigen Code stellt das Objekt filedie hochgeladene Datei dar. Verwenden Sie die Methode mv, um die Datei in das angegebene Verzeichnis zu verschieben und umzubenennen.

2. Node.js-StammpfadkonfigurationIn Node.js können Sie die globale Variable __dirnameverwenden, um den vollständigen Pfad des Verzeichnisses zu erhalten, in dem sich das aktuell ausgeführte Skript befindet Variable wird als Stammpfad zum Verarbeiten von Dateien verwendet. Sie können Pfadspleißen verwenden, um relative Pfade zu schreiben. Beim Konfigurieren eines statischen Dateiverzeichnisses im Express-Framework wird normalerweise der Stammpfad als Präfix des statischen Dateiverzeichnisses verwendet, um Pfadfehler zu vermeiden. rrreeeIm obigen Code ist das Verzeichnis der öffentlichen Datei public. Durch die Verwendung von __dirnamezum Zusammenfügen des relativen Pfads des Verzeichnisses kann sichergestellt werden, dass der richtige Pfad gelesen wird Die Anwendung startet. 3. So schreiben Sie den Stammpfad des Node.js-Bild-UploadsBei der Implementierung des Node.js-Bild-Uploads müssen Sie normalerweise den Speicherpfad des hochgeladenen Bildes angeben. Um Pfadfehler zu vermeiden, können Sie zum Pfadspleißen den Stammpfad plus den relativen Pfad verwenden. Um beispielsweise den Bild-Upload-Pfad zum Ordner uploadsunter dem Stammpfad zu konfigurieren, können Sie den folgenden Code schreiben: rrreeeIm obigen Code UPLOAD_PATHstellt den hochgeladenen Bildspeicherpfad dar. Verwenden Sie zum Spleißen den Stammpfad plus den relativen Pfad, um eine korrekte Pfadspleißung zu erreichen. ZusammenfassungDas Hochladen von Bildern und die Konfiguration des Root-Pfads sind beide sehr wichtig bei der Entwicklung von Node.js. Durch die richtige Konfiguration und Implementierung können Probleme wie Pfadfehler und Upload-Fehler während der Entwicklung reduziert werden. In diesem Artikel werden die Schritte zur Verwendung des Express-Fileupload-Moduls zum Implementieren des Bild-Uploads vorgestellt und erläutert, wie der Root-Pfad in Node.js korrekt konfiguriert wird. Ich wünsche den Lesern, dass sie es erfolgreich in der tatsächlichen Entwicklung einsetzen können.

Das obige ist der detaillierte Inhalt vonSo schreiben Sie den Stammpfad des NodeJS-Bild-Uploads. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!