Heim Web-Frontend js-Tutorial Umfassende Analyse des Bild-Uploads in Knotenform

Umfassende Analyse des Bild-Uploads in Knotenform

Dec 06, 2016 am 11:08 AM
node

Node analysiert den Bild-Upload des Formulars vollständig, Multiparty analysiert die HTTP-Anfrage multipart/form-data mit dem Inhaltstyp, auch als Datei-Upload bekannt.

Mehrparteieninstallation

npm install multiparty
Nach dem Login kopieren

HTML-Code

<form action="/api/uppic" method="post" >
<input type="file" name="pic" >
<input type="submit">
</form>
Nach dem Login kopieren

Knotencode

app.route(&#39;/api/uppic&#39;).post(function(req,res){
var multiparty = require(&#39;multiparty&#39;);
var form = new multiparty.Form();//新建表单
//设置编辑
form.encoding = &#39;utf-8&#39;;
//设置图片存储路径
form.uploadDir = "Uploads/gaoxiao/";
form.keepExtensions = true; //保留后缀
form.maxFieldsSize = 2*1024*1024; //内存大小
form.maxFilesSize= 5*1024*1024;//文件字节大小限制,超出会报错err
//表单解析
form.parse(req, function(err,fields,files) {
//报错处理
if(err){
console.log(err);
var u={"error" :1,"message":&#39;请上传5M以图片&#39;};
res.end(JSON.stringify(u));
return false;
}
//获取路径
var oldpath=files.imgFile[0][&#39;path&#39;];
//文件后缀处理格式
if(oldpath.indexOf(&#39;.jpg&#39;)>=0){
var suffix=&#39;.jpg&#39;;
}else if(oldpath.indexOf(&#39;.png&#39;)>=0){
var suffix=&#39;.png&#39;;
}else if(oldpath.indexOf(&#39;.gif&#39;)>=0){
var suffix=&#39;.gif&#39;;
}else{
var u={"error" :1,"message":&#39;请上传正确格式&#39;};
res.end(JSON.stringify(u));
return false;
}
var url=&#39;Uploads/gaoxiao/&#39;+Date.now()+suffix;
var fs=require(&#39;fs&#39;);
//给图片修改名称
fs.renameSync(oldpath,url);
var u={ "error" : 0, "url" : &#39;/&#39;+url}
res.end(JSON.stringify(u));
});
});
Nach dem Login kopieren

multiparty

multiparty.Form erstellt ein neues Formular**

Kodierung: Wird verwendet um die Codierung des Formularfeldsatzes einzugeben. Standardmäßig ist utf8

maxFieldsSize: Begrenzt die Speichermenge, die alle Felder (nicht Dateien) in Bytes zuweisen können. Wird dieser Wert überschritten, wird ein Fehlerereignis ausgegeben. Die Standardgröße beträgt 2 MB.

maxFields: Limit, ein Fehlerereignis wird ausgegeben, bevor die Anzahl der Felder analysiert wird. Eine Datei zählt in diesem Fall als Feld. Der Standardwert ist 1000.

maxFilesSize: Größenbeschränkung für das Hochladen von Dateien, nur wenn die zugehörigen autoFiles wahr sind. Begrenzen Sie die Gesamtzahl der Bytes, die für alle zusammengeführten Dateien akzeptiert werden. Wird dieser Wert überschritten, wird ein Fehlerereignis ausgegeben. Der Standardwert ist unendlich.

autoFields: Felder, die Feldereignisse aktivieren und Teilereignisse deaktivieren. Dies wird automatisch auf „true“ gesetzt, wenn ein Feld-Listener hinzugefügt wird.

uploadDir: Nur wenn relevante autoFiles wahr ist. Verzeichnis zum Ablegen von Dateien zum Hochladen. Sie können sie später mit fs.rename() verschieben. Der Standardwert ist os.tmpDir().

form.parse(req, function(err,fields,files){})

- Felder: ist ein Objekt (Name und Wert hochladen), seine Eigenschaften Der Feldname und der Wert des Namens sind Arrays von Feldwerten.

- Dateien: ist ein Objekt (Upload-Name und Server-Dateipfad), der Feldname und der Wert seines Attributnamens sind Arrays von Dateiobjekten.

Dateiobjekt Datei innerhalb von Dateien – ein Objekt mit diesen Eigenschaften:

- fieldName – derselbe Name – der Feldname in dieser Datei

- originalFilename – der Dateiname, ein Bericht für den Benutzer dieser Datei

- Pfad – der absolute Pfad zur auf die Festplatte hochgeladenen Datei

- Header – das sind die gesendeten HTTP-Header mit der Datei

- Größe – Dateigröße in Bytes

Knotenform-Parsing (Multiparty) API-Adresse: https://www.npmjs.com/package/multiparty


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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So löschen Sie einen Knoten in NVM So löschen Sie einen Knoten in NVM Dec 29, 2022 am 10:07 AM

So löschen Sie einen Knoten mit nvm: 1. Laden Sie „nvm-setup.zip“ herunter und installieren Sie es auf dem Laufwerk C. 2. Konfigurieren Sie Umgebungsvariablen und überprüfen Sie die Versionsnummer mit dem Befehl „nvm -v“. install“-Befehl Knoten installieren; 4. Löschen Sie den installierten Knoten über den Befehl „nvm uninstall“.

So verwenden Sie Express für den Datei-Upload im Knotenprojekt So verwenden Sie Express für den Datei-Upload im Knotenprojekt Mar 28, 2023 pm 07:28 PM

Wie gehe ich mit dem Datei-Upload um? Der folgende Artikel stellt Ihnen vor, wie Sie Express zum Hochladen von Dateien im Knotenprojekt verwenden. Ich hoffe, er ist hilfreich für Sie!

Wie führt man eine Docker-Spiegelung des Node-Dienstes durch? Detaillierte Erläuterung der ultimativen Optimierung Wie führt man eine Docker-Spiegelung des Node-Dienstes durch? Detaillierte Erläuterung der ultimativen Optimierung Oct 19, 2022 pm 07:38 PM

Während dieser Zeit habe ich einen dynamischen HTML-Dienst entwickelt, der allen Kategorien von Tencent-Dokumenten gemeinsam ist. Um die Generierung und Bereitstellung des Zugriffs auf verschiedene Kategorien zu erleichtern und dem Trend der Cloud-Migration zu folgen, habe ich über die Verwendung von Docker nachgedacht Serviceinhalte verwalten und Produktversionen einheitlich verwalten. In diesem Artikel werden die Optimierungserfahrungen, die ich bei der Bereitstellung von Docker gesammelt habe, als Referenz weitergegeben.

Eine ausführliche Analyse des Prozessmanagement-Tools „pm2' von Node Eine ausführliche Analyse des Prozessmanagement-Tools „pm2' von Node Apr 03, 2023 pm 06:02 PM

In diesem Artikel stellen wir Ihnen das Prozessmanagement-Tool „pm2“ von Node vor und sprechen darüber, warum PM2 benötigt wird und wie Sie PM2 installieren und verwenden. Ich hoffe, dass es für alle hilfreich ist!

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? Mar 05, 2025 pm 05:57 PM

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

Lassen Sie uns darüber sprechen, wie Sie mit pkg Node.js-Projekte in ausführbare Dateien packen. Lassen Sie uns darüber sprechen, wie Sie mit pkg Node.js-Projekte in ausführbare Dateien packen. Dec 02, 2022 pm 09:06 PM

Wie packe ich die ausführbare Datei von nodejs mit pkg? Im folgenden Artikel erfahren Sie, wie Sie mit pkg ein Node-Projekt in eine ausführbare Datei packen. Ich hoffe, dass er Ihnen weiterhilft!

Was tun, wenn npm node gyp ausfällt? Was tun, wenn npm node gyp ausfällt? Dec 29, 2022 pm 02:42 PM

npm node gyp schlägt fehl, weil „node-gyp.js“ nicht mit der Version von „Node.js“ übereinstimmt. Die Lösung ist: 1. Löschen Sie den Knotencache über „npm cache clean -f“ 2. Über „npm install -“ g n“ Installieren Sie das n-Modul. 3. Installieren Sie die Version „node v12.21.0“ über den Befehl „n v12.21.0“.

Was ist ein Single-Sign-On-System? Wie implementiert man es mit NodeJS? Was ist ein Single-Sign-On-System? Wie implementiert man es mit NodeJS? Feb 24, 2023 pm 07:33 PM

Was ist ein Single-Sign-On-System? Wie implementiert man es mit NodeJS? Im folgenden Artikel erfahren Sie, wie Sie mit Node ein Single-Sign-On-System implementieren. Ich hoffe, dass er Ihnen weiterhilft!

See all articles