Форма должна содержать
enctype="multipart/form-data"
Таким образом, к ответу мы привязали следующий загловок:
Content-Type: multipart/form-data
Для обработки файла на стороне сервера необходимо установить зависимость express-fileupload:
Установка express-fileupload
npm install --save express-fileupload
Теперь express к загружаемому фалу может обращаться через req.files
app.post('/upload', function(req, res) { console.log(req.files); // the uploaded file object });
Пример обработки и загрузки файла на сервер:
const express = require('express'); const fileUpload = require('express-fileupload'); const app = express(); // default options app.use(fileUpload()); app.post('/upload', function(req, res) { if (!req.files || Object.keys(req.files).length === 0) { return res.status(400).send('No files were uploaded.'); } // The name of the input field (i.e. "sampleFile") is used to retrieve the uploaded file let sampleFile = req.files.sampleFile; // Use the mv() method to place the file somewhere on your server sampleFile.mv('/somewhere/on/your/server/filename.jpg', function(err) { if (err) return res.status(500).send(err); res.send('File uploaded!'); }); });
См. ссылку - https://www.npmjs.com/package/express-fileupload