【问题标题】:Node.js : get content of uploaded file for creating read streamNode.js:获取上传文件的内容以创建读取流
【发布时间】:2016-04-05 01:04:49
【问题描述】:

需要您的帮助,我有 xhr 发布请求: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 是一个对象。如何从 req 中获取上传的文件内容?

【问题讨论】:

标签: javascript node.js fs


【解决方案1】:

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

查看Multer 或multiparty 等解决方案

【讨论】:

    【解决方案2】:

    试试这个

    let writer = fs.createWriteStream(hereFullNameToYourFileOnServer);
    
    request.pipe(writer);
    

    【讨论】:

    • 是的,就是这样。谢谢,伊利亚! :)
    猜你喜欢
    • 2013-12-13
    • 2021-10-20
    • 2020-09-08
    • 2016-07-18
    • 1970-01-01
    • 2020-08-23
    • 2014-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多