上传文件时出错

时间:2014-10-25 12:52:18

标签: node.js formidable

最终用户通过Web应用程序上传文件。我为此使用了Blueimp jQuery Fileupload

在服务器端,我使用formidable将上传的文件传输到我正在使用的基于云的文件服务。

代码如下 -

//The function called when file is uploaded
function (req, res) {
    var form = new formidable.IncomingForm();
    form.parse(req);

    form.on('file', function (name, file) {
        //Code that uploads the file to the cloud based hosting service
        //Once uploaded, we return with the response
        res.send(201, data)
    });
}

但是,上传到基于云的托管服务的代码需要时间(取决于文件大小)。 我想做的是立即返回,而不是等待文件上传到云端。也就是说,在后台执行上传到云端。

如果我将res.send(201, data)移到file事件之外并将其放在函数末尾,我会收到'请求超时 - 连接已关闭而无响应'错误。

如何在“后台”中进行上传并立即返回?

1 个答案:

答案 0 :(得分:0)

如果你使用快递,你可能会这样做:

function (req, res, next) {
    var form = new formidable.IncomingForm();
    form.on('file', function (name, file) { });
    form.parse(req);

    next(req, res);
}