我正在尝试使用node.js在ftp上传多个文件。我的上传开始成功,我看到文件上传到服务器位置,但在一段时间没有收到成功消息后,在浏览器端我收到此错误“错误324(net :: ERR_EMPTY_RESPONSE):但在服务器中我的文件仍然在ftp上传。
以下是该过程的上传日志:
uploaded Audio >>1 >>1572528
uploaded Audio >>1 >>1637949
uploaded Audio >>1 >>1703388
uploaded Audio >>1 >>1768865
uploaded Audio >>1 >>1834167
PUT /user/album/deliverAudio - - ms - -
// as soon as this line execute I get EMPTY_RESPONSE_ERROR in browser
uploaded Audio >>1 >>1899552
以下是该流程的部分代码:
sync.map(req.body.tracks, function(track, callback) {
var data = '';
var filename = '';
var readableAudioStream = fs.createReadStream(track.trackpath.track_path);
c.put(readableAudioStream,track.filename, function(err) {
if (err) {
return callback(err);
}
callback(null);
});
readableAudioStream.on('data', function(chunk) {
data += chunk;
console.log('uploaded Audio >>'+track.track_no+' >>'+data.length);
});
}, function(err, results) {
console.log('audio error');
console.log(err);
done(err);
});
答案 0 :(得分:0)
我认为你可能会对HTTP请求给出一个NULL / undefined响应。尝试在响应中发送实际有效负载。
尝试
c.put(readableAudioStream,track.filename, function(err) {
if (err) {
return callback(err);
}
callback(null, { success: true }); // Give an actual payload response from the completion of the upload
});
然后,处理请求的结果:
function (err, results) {
if (err) res.send(500, err);
res.json(results);
}