Node.js : 获取上传文件的内容以创建读取流

Node.js : get content of uploaded file for creating read stream

需要你的帮助,我有xhr post请求:xhr.send(form.file.files[0]); 我正在尝试以这种方式将此文件上传到我的服务器:

require('http').createServer(function(req, res) {
    let pathname = decodeURI(url.parse(req.url).pathname);
    let file = new fs.ReadStream(req);
    let path = fs.createWriteStream(__dirname + '/files' + pathname);

    file.pipe(path);

    file.on('error', function(err) {
        console.log(err);
        endConnection(res, 500, 'Server Error');
    });

    res.on('close', file.destroy.bind(file));
}

主要问题是上线new fs.ReadStream(req); - ReadStream 的参数只能包含字符串,但 req 是一个对象。如何从请求中获取上传的文件内容?

上传的文件作为 multipart/form-data 请求的一部分发送,通常使用中间件或其他实用程序来获取文件。 (一个请求也可以发送多个文件)。

查看 Multer or multiparty

等解决方案

试试这个

let writer = fs.createWriteStream(hereFullNameToYourFileOnServer);

request.pipe(writer);