Ich verwende mongoose mit gridfs-stream zum Speichern von Dateien, Bildern, Audios und Videos.Wie lese ich ein Video mit gridfs-stream?
Das Problem ist, wenn ich eine andere Position/Zeit im Video auswählen, wird gestoppt, das gleiche passiert, wenn ich irgendein Lied spiele.
Jemand kann mir helfen?
Dies ist mein Code:
exports.readById = function(req, res) {
var id = req.modelName._id;
gfs.findOne({
_id: id
}, function(err, file) {
if (err) {
return res.status(400).send({
err: errorHandler.getErrorMessage(err)
});
}
if (!file) {
return res.status(404).send({
err: 'No se encontró el registro especificado.'
});
}
res.writeHead(200, {
'Accept-Ranges': 'bytes',
'Content-Length': file.length,
'Content-Type': file.contentType
});
var readStream = gfs.createReadStream({
_id: file._id
});
readStream.on('error', function(err) {
if (err) {
return res.status(400).send({
err: errorHandler.getErrorMessage(err)
});
}
});
readStream.pipe(res);
});
};
Sie müssen wahrscheinlich Bereichsanforderungen verarbeiten (vielleicht mit [ 'Express-range'] (https://www.npmjs.com/package/express-range)) in Kombination mit Teildaten aus GridFS Lesen (mit [die 'range' Option] (https://github.com/aheckmann/gridfs-stream#createtreadstream)). – robertklep
Ich habe eine Lösung gefunden, ohne das 'express-range' Modul zu verwenden, aber Sie haben recht, ich musste die' range' Option verwenden, danke. –