【发布时间】:2017-01-10 07:47:22
【问题描述】:
我正在尝试将视频从 android/IOS 客户端上传到 NodeJS 服务器。它适用于较小的视频,但是当我尝试上传大于 50 MB 的视频时,它会引发 服务器超时错误。
我认为一个可能的解决方案是增加服务器超时限制,但这似乎不是一个合适的解决方案。有没有合适的方法从android上传视频而没有任何限制?
这是我正在使用的代码。
exports.create = function(req, res) {
req.setTimeout(0);
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, config.uploads.videoUpload.dest);
},
filename: function (req, file, cb) {
let extArray = file.mimetype.split("/");
let extension = extArray[extArray.length - 1];
cb(null, Date.now()+ '.' +extension);
}
});
var upload = multer({
storage: storage,
limits: config.uploads.videoUpload.limits,
fileFilter: function (req, file, cb)
{
if (file.mimetype !== 'image/jpeg' && file.mimetype !== 'video/mp4')
{
return res.status(400).send({
message: 'Only video files are allowed!',
error: true
});
}
cb(null, true);
}
}).single('video_file');
if (user)
{
// upload function with a callback
upload(req, res, function(uploadError) {
if (uploadError)
{
return res.status(400).send({
message: 'Error occurred while uploading Video',
error: true
});
}
else
{
return res.status(200).send({
message: 'Video uploaded Successfuly!',
error: false
});
}
});
}
else
{
res.status(400).send({
message: 'User is not signed in',
error: true
});
}
};
【问题讨论】:
标签: android ios node.js video connection-timeout