欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs實(shí)現(xiàn)大文件(在線視頻)的讀取

 更新時(shí)間:2020年10月16日 08:52:15   作者:yanglang1987500  
這篇文章主要為大家詳細(xì)介紹了nodejs實(shí)現(xiàn)大文件的讀取,比如在線視頻,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

nodejs進(jìn)行視頻讀取時(shí)不能像讀取圖片之類的一次性讀取,而是必須讀取一部分返回一部分,這樣客戶端的播放才會(huì)邊緩沖邊播放,而不必等待全部緩沖完再播放。

老規(guī)矩,直接貼代碼講解:

var fs = require('fs'); 

function readBigFileEntry(filename, response) { 
path.exists(filename, function(exists) { 
if (!filename || !exists) { 
response.writeHead(404); 
response.end(); 
return; 
} 

var readStream = fs.ReadStream(filename); 

var contentType = 'none'; 
var ext = path.extname(filename); 
switch (ext) { 
case ".flv": 
contentType = "video/flv"; 
break; 
} 

response.writeHead(200, { 
'Content-Type' : contentType, 
'Accept-Ranges' : 'bytes', 
'Server' : 'Microsoft-IIS/7.5', 
'X-Powered-By' : 'ASP.NET' 
}); 



readStream.on('close', function() { 
response.end(); 
console.log("Stream finished."); 
}); 
readStream.pipe(response); 
}); 
}

通過(guò)fs模塊的ReadStream方法,拿到視頻流,然后綁定關(guān)閉事件:當(dāng)流讀取到結(jié)尾的時(shí)候結(jié)束response請(qǐng)求,最后通過(guò)pipe方法進(jìn)行小塊小塊的讀取。這里的head信息不能添加Content-Length屬性,因?yàn)楸仨毞侄巫x取,如果加了這個(gè)屬性,瀏覽器就會(huì)以為請(qǐng)求結(jié)束了從而關(guān)閉請(qǐng)求。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解NodeJS Https HSM雙向認(rèn)證實(shí)現(xiàn)

    詳解NodeJS Https HSM雙向認(rèn)證實(shí)現(xiàn)

    這篇文章主要介紹了詳解NodeJS Https HSM雙向認(rèn)證實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • 解決linux下node.js全局模塊找不到的問(wèn)題

    解決linux下node.js全局模塊找不到的問(wèn)題

    今天小編就為大家分享一篇解決linux下node.js全局模塊找不到的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Node.js的Mongodb使用實(shí)例

    Node.js的Mongodb使用實(shí)例

    本篇文章主要介紹了Node.js的Mongodb使用實(shí)例,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2016-12-12
  • 一文教你學(xué)會(huì)Nodejs中puppeteer的簡(jiǎn)單使用

    一文教你學(xué)會(huì)Nodejs中puppeteer的簡(jiǎn)單使用

    Puppeteer是一個(gè)控制headless Chrome的Node.js API ,是一個(gè) Node.js庫(kù),在瀏覽器中手動(dòng)完成的大多數(shù)事情都可以通過(guò)使用 Puppeteer完成,本文主要介紹了Puppeteer的簡(jiǎn)單使用,希望對(duì)大家有所幫助
    2024-01-01
  • 深入淺出了解Node.js Streams

    深入淺出了解Node.js Streams

    這篇文章講了了解流的用途,為什么它們?nèi)绱酥匾?,以及如何使用它們。下面我們?lái)一起學(xué)習(xí)吧
    2019-05-05
  • 詳解nodejs微信公眾號(hào)開(kāi)發(fā)——3.封裝消息響應(yīng)模塊

    詳解nodejs微信公眾號(hào)開(kāi)發(fā)——3.封裝消息響應(yīng)模塊

    上一篇文章:nodejs微信公眾號(hào)開(kāi)發(fā)(2)自動(dòng)回復(fù),實(shí)現(xiàn)了簡(jiǎn)單的關(guān)注回復(fù)。采用拼接字符串的形式,并不是很方便,這里我們將其封裝承接口。
    2017-04-04
  • nodejs操作mongodb的填刪改查模塊的制作及引入實(shí)例

    nodejs操作mongodb的填刪改查模塊的制作及引入實(shí)例

    下面小編就為大家分享一篇nodejs操作mongodb的填刪改查模塊的制作及引入實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 在Node.js中實(shí)現(xiàn)視頻收藏功能

    在Node.js中實(shí)現(xiàn)視頻收藏功能

    在構(gòu)建視頻分享平臺(tái)時(shí),視頻的收藏功能是用戶互動(dòng)的重要組成部分,本文將介紹如何在Node.js應(yīng)用中實(shí)現(xiàn)視頻收藏功能,包括數(shù)據(jù)模型的創(chuàng)建、業(yè)務(wù)邏輯的實(shí)現(xiàn)以及接口的驗(yàn)證測(cè)試,需要的朋友可以參考下
    2024-04-04
  • 淺析Node.js實(shí)現(xiàn)HTTP文件下載

    淺析Node.js實(shí)現(xiàn)HTTP文件下載

    本文介紹如何用Node.js來(lái)實(shí)現(xiàn)HTTP文件下載,文章以實(shí)例演示所以很詳細(xì),有需要的小伙伴們可以參考學(xué)習(xí)。
    2016-08-08
  • 使用node搭建自動(dòng)發(fā)圖文微博機(jī)器人的方法

    使用node搭建自動(dòng)發(fā)圖文微博機(jī)器人的方法

    這篇文章主要介紹了使用node搭建自動(dòng)發(fā)圖文微博機(jī)器人的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論