2017-11-30 20 views

답변

0

res.pipe을 사용해 파일을 청크로 보내보십시오. 이것은 큰 파일을 스트리밍하는 데 사용하는 몇 가지 샘플 코드입니다. 그러나 완전한 코드는 아닙니다. 그것은 올바른 방향으로 당신을 이끌기에 충분합니다.

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; 
 
}