Я делаю приложение, в котором файл загружается на сервер с помощью multipart / form-data. Чтобы получить запрос Multipart / form-data в Node js, я использую multer и храню этот файл на диске.Затем я делю эти файлы на 3 части.
Теперь я хочу, чтобы сервер отправлял эти части на несколько серверов.
const express = require('express');
const path = require('path');
const multer = require('multer');
const methodOverride = require('method-override');
const bodyParser = require('body-parser');
const PORT = 4000;
const crypto = require('crypto');
const fs = require('fs');
const splitFile = require('split-file');
const app = express();
app.use(bodyParser.json());
app.use(methodOverride('_method'));
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, upload_path)
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
})
var upload = multer({ storage: storage });
app.post('/upload', upload.single('file'), (req, res) => {
res.redirect('localhost:3000/');
})
app.post('/encrypt/:id', (req, res) => {
console.log(req.params.id);
console.log(enc_path + '\\' + req.params.id);
var key =
'14189dc35ae35e75ff31d7502e245cd9bc7803838fbfd5c773cdcd79b8a28bbd';
var cipher = crypto.createCipher('aes-256-cbc', key);
var input = fs.createReadStream(upload_path + '//' + req.params.id);
var output = fs.createWriteStream(enc_path + '//' + req.params.id);
input.pipe(cipher).pipe(output);
output.on('finish', function () {
console.log('Encrypted file written to disk!');
});
})
app.post('/split/:id', (req, res) => {
console.log(req.params.id);
splitFile.splitFile(enc_path + '\\' + req.params.id, 3).then((names) => {
})
})
app.listen(PORT, function () {
console.log("Server is running on Port " + PORT);
});