Antwort für Frage 1:
Um die Größe der HTTP-Anfragen und die Upload-Dateigröße zu begrenzen, müssen wir das Limit des body-parser
einstellen.
app.use(bodyParser.urlencoded({limit: '50mb',extended: true}));
app.use(bodyParser.json({limit: '50mb'}));
bodyParser.urlencoded
Die Dateien vom Frontend werden als urlcodierte Bodies übertragen.
Gibt Middleware zurück, die nur urlcodierte Bodies analysiert. Dieser Parser akzeptiert nur die UTF-8-Codierung des Bodys und unterstützt die automatische Dekomprimierung von gzip- und deflate-Codierungen.
Ein neues Body-Objekt mit den analysierten Daten wird nach der Middleware im Anfrageobjekt bereitgestellt (d.h. req.body). Dieses Objekt enthält Schlüssel-Wert-Paare, wobei der Wert ein String oder Array sein kann (wenn extended false ist) oder ein beliebiger Typ (wenn extended true ist).
bodyParser.json
Gibt Middleware zurück, die nur JSON analysiert. Dieser Parser akzeptiert jede Unicode-Codierung des Bodys und unterstützt die automatische Dekomprimierung von gzip- und deflate-Codierungen.
Ein neues Body-Objekt mit den analysierten Daten wird nach der Middleware im Anfrageobjekt bereitgestellt (d.h. req.body).
Hinweis: Standardmäßig beträgt das Eingabelimit für den Body-Parser 100kb
Antwort für Frage 2:
Um das Standard-Upload-Verzeichnis zu ändern, können wir folgendes verwenden.
app.set('uploadDir', './files'); // Legt das Upload-Verzeichnis auf den Ordner "files" in Ihrem Projekt fest.
Weitere Implementierung
Beim Einbinden des bodyParser in die App können wir das Upload-Verzeichnis angeben.
app.use(express.bodyParser({uploadDir:'./files', keepExtensions: true}));
Referenz:
Probleme: https://github.com/expressjs/express/issues/1684
Hoffentlich hilft dies!