Das Hochladen von Dateien ist wahrscheinlich ein wesentlicher Vorgang in jedem Projekt. Heute verwenden wir NodeJS, um ein Datei-Upload-Modul zu implementieren.
1. Modul
npm i multiparty
npm i express
2.
Wir fügen den Code in die Datei ( upload.js
) ein. Der Code in der Datei lautet wie folgt:
// Datei hochladen module const multiparty = require('multiparty') //Dateioperationsmodul const fs = require('fs') //Express-Framework importieren const express = require('express') //Routing const router = express.Router() // Dateischnittstelle hochladen router.post('/upload/file', (req, res) => { /* Ein Mehrparteienobjekt generieren und den Upload-Zielpfad konfigurieren */ let form = new multiparty.Form(); //Codierung festlegen form.encoding = 'utf-8'; //Legen Sie den Dateispeicherpfad fest und verwenden Sie dabei die aktuell bearbeitete Datei als relativen Pfad form.uploadDir = './public'; // Parsen, Formularparser // Felder: normale Formulardaten // Dateien: hochgeladene Dateiinformationen form.parse(req, function (err, Fields, Files) { versuchen { //Die Datei ist files.file[0] let upfile = files.file[0] // Benennen Sie die Datei und ändern Sie den Pfad in der Upfile-Datei, andernfalls wird der Dateiname zufällig generiert let newpath = form.uploadDir + '/' + upfile.originalFilename //Dateiname// Umbenennen von fs.renameSync(upfile.path , neuer Pfad); //Informationen zurückgeben, ((upfile.size)/1048576).toFixed(2) Konvertieren Sie die Datei von B- in M-Einheiten und runden Sie sie auf zwei Dezimalstellen ab.res.send({ Code:200, msg:'Datei erfolgreich', Dateiname:upfile.originalDateiname, file_size:((upfile.size)/1048576).toFixed(2)+'M' }) } fangen { // Nachricht console.log(err) unter ungewöhnlichen Umständen res.send({ Code:401, msg:'Dateifehler', more_msg:fehler }) } }) }) // Exportieren Sie dieses Modul zum Aufrufen in der Hauptfunktionsdatei module.exports = router
3.main.js-Datei
// Führen Sie das Express-Modul ein const express = require('express') // Express instanziieren const app = express() // Ordnerzuordnung app.use('/static',express.static('public')) // Dateischnittstelle hochladen const upload=require('./router/upload') app.use (hochladen) // Abhördienst app.listen('3333', '0.0.0.0', (res) => { console.log('Server läuft http://127.0.0.1:3333') })
4. Beispiel
Schluss damit