node.js express无法通过流上传文件

时间:2016-10-20 04:19:16

标签: javascript node.js express upload form-data



router.post("/upload", function(req, res, next) {
    var form = new multiparty.Form();
    form.on("part", function(part) {
        if (!part.filename) {
            part.resume();
            return;
        }

        var fd = new FormData();
        fd.append("upload", part);
        fd.submit(storageUrl, function(err, res0) {
            if (err) {
                console.error(err);
                res.status(500);
            }

            res.end();
        });
    });

    form.parse(req);
});




然而,我在提交回调中收到错误。

{ [Error: read ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' }

有人知道如何解决这个问题吗?感谢。

1 个答案:

答案 0 :(得分:0)

router.post("/upload", function(req, res, next) {
    var form = new multiparty.Form();
    form.on("part", function(part) {
        if (!part.filename) {
            part.resume();
            return;
        }

        var fd = new FormData();
        fd.append("upload", part, {
            filename: part.filename,
            contentType: part.headers["content-type"],
            knownLength: part.byteCount
        });
        fd.submit(storageUrl, function(err, res0) {
            if (err) {
                console.error(err);
                res.status(500);
            }

            res.end();
        });
    });

    form.parse(req);
});

找到我自己的答案。缺少文件长度信息。