В данном случае файл отправляется в теле запроса как есть, без всяких оберток:
file_load.onsubmit = function(){
var file = this.elements.myfile.files[0];
var xhr = new XMLHttpRequest();
xhr.open("POST", "upload", true);
xhr.send(file);
return false;
}
Следовательно на сервере нам достаточно перенаправить тело запроса целиком в файл:
const server = require('http').createServer();
const fs = require('fs');
const nodeStatic = require('node-static');
const file = new nodeStatic.Server('.', {
cache: 0
});
server.listen(3000, () => console.log("сервер запущен"));
server.on('request', (req, res) => {
if (req.url == '/upload') {
req.pipe(
fs.createWriteStream('file2.jpg')
).on('finish', () => res.end('ok'));
return;
}
file.serve(req, res);
});