2017-11-30 3 views

Antwort

0

Verwenden Sie res.pipe, um die Datei in Chunks zu senden. Dies ist ein Beispielcode, den ich für das Streaming großer Dateien verwende. Aber es ist nicht der vollständige Code. Es sollte genug sein, um dich in die richtige Richtung zu führen.

if (req.headers.range) { 
 
    contentType = mime.lookup(filePath); 
 
    var range = req.headers.range; 
 
    var parts = range.replace(/bytes=/, "").split("-"); 
 
    var partialstart = parts[0] || "0"; 
 
    var partialend = parts[1]; 
 

 
    var start = parseInt(partialstart, 10); 
 
    var end = partialend ? parseInt(partialend, 10) : fileSize - 1; 
 
    var chunksize = (end - start) + 1; 
 
    var file = fs.createReadStream(filePath, { 
 
    start: start, 
 
    end: end 
 
    }); 
 
    res.writeHead(206, { 
 
    'Content-Range': 'bytes ' + start + '-' + end + '/' + fileSize, 
 
    'Accept-Ranges': 'bytes', 
 
    'Content-Length': chunksize, 
 
    'Content-Type': contentType 
 
    }); 
 
    file.pipe(res); 
 
    return; 
 
}

Verwandte Themen