我发送一个对象到s3上传,在本地我回来了一个' httpUploadProgress'事件。这将通知函数上的.progress调用,然后更新记录及其进度。它在本地工作正常但不在服务器上。任何想法,将不胜感激。我已经包含了两段代码。我使用的是谷歌服务器,不确定它是否是代码或服务器设置的问题:/
s3.uploadVideo = function (filepath, videoName, publisher_id) {
var deferred = q.defer();
var body = fs.createReadStream(filepath);
var s3obj = new AWS.S3({
params: {
Bucket: transcodeConfig.NonTranscodedVideoBucket,
Key: publisher_id + '/' + videoName
}
});
s3obj.upload({Body: body}).
on('httpUploadProgress', function (evt) {
deferred.notify(evt);
return
}).
send(function (err, data) {
if (!err) {
deferred.resolve(data);
return
} else {
deferred.reject(err);
return
}
});
//deferred.resolve({})
return deferred.promise;
}

aws_api.s3.uploadVideo(file.path, fileName, publisher_id ).progress(function(progress){
return models.videos.findOneAndUpdate({_id : trackingId},{uploadProgress: progress, file_type:fileExtension},function(err,data){
if(err){
return next(err);
}else{
return data;
}
})
})