Я только что выполнил руководство от MDN и скорректировал его с помощью загруженного файла. Но я не могу знать, почему этот код показывает видеоплеер, который не воспроизводится. Это основано на express, node, и я использовал file = input для html, чтобы получить файл mp4.
exports.uploadVideo_post = function(req, res, next) {
var form = new formidable.IncomingForm(); //uploaded mp4 file from html
form.parse(req, function(err, fields, files){
var file = files.video.path; //C:\\Users\\AppData\\Local\\Temp\\upload_11588e8cde2d371b85df29c6efc27569
var fileName = file+".mp4";
fs.rename(file, fileName, () => {
var start;
var end;
const total = files.video.size;
const range = req.headers.range;
if (range) {
var positions = range.replace(/bytes=/, "").split("-");
end = positions[1] ? parseInt(positions[1], 10) : total - 1;
start = parseInt(positions[0], 10);
} else{
start = 0;
end = total - 1;
}
if (start == 0 && end == total -1){
res.writeHead(200, {
"Accept-Ranges" : "bytes",
"Content-Range" : "bytes " + start + "-" + end + "/" + total,
"Content-Length" : total,
"Content-Type" : "video/mp4"
});
createReadStream(fileName, { start, end }).pipe(res);
}
else{
res.writeHead(206, {
"Accept-Ranges" : "bytes",
"Content-Range" : "bytes " + start + "-" + end + "/" + total,
"Content-Length" : end - start + 1,
"Content-Type" : "video/mp4"
});
createReadStream(fileName, { start, end }).pipe(res);
}); }); }
спасибо, ребята.