Achten Sie darauf, das Paket
npm --save multer
installieren installieren Sie die folgende Art und Weise versuchen, In der Server-Seite, In Ihren Routen oder Controller-Datei konfigurieren Sie die Multer:
var multer = require('multer');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public/images/uploads')
},
filename: function (req, file, cb) {
cb(null, Date.now() + '-' + file.originalname)
}
})
var upload = multer({ storage: storage });
Im Speicherobjekt steht Ziel für, wo die Datei hochgeladen wird. Stellen Sie daher sicher, dass in Ihrem Projektverzeichnis der Pfad/public/images/uploads erstellt wird. Andernfalls möchten Sie möglicherweise den Dateipfad ändern.
Auch im Speicherobjekt Dateiname steht für, was wird der hochgeladene Dateiname sein. Hier füge ich die aktuelle Uhrzeit mit dem ursprünglichen Dateinamen hinzu, um den Dateinamen eindeutig zu machen.
Jetzt in Ihrem gewünschten Routing an, dass
router.post('/', upload.single('image'), (req, res) => {
//here your other task.
});
Jetzt Dateien hochgeladen. Stellen Sie sicher, dass die Clientseite denselben Namen verwendet, in diesem Fall 'image'.
<input type="file" name="image" id="image" class='form-control'>
Dies ist eine Upload-Prozedur für eine einzelne Datei. Für mehrere Dateien
router.post('/', upload.array(), function (req, res, next) {
//your task goes here
});
Weitere Informationen dieses link überprüfen.
http://lollyrock.com/articles/express4-file-upload/ –
irgendein spezifischer Fehler? –