最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文章

  • 詳解Node.js利用node-git-server快速搭建git服務(wù)器

    詳解Node.js利用node-git-server快速搭建git服務(wù)器

    本篇文章主要介紹了詳解Node.js利用node-git-server快速搭建git服務(wù)器,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-09-09
  • Node.js zlib模塊之屬性、方法及使用示例詳解

    Node.js zlib模塊之屬性、方法及使用示例詳解

    zlib模塊是Node.js中用于數(shù)據(jù)壓縮和解壓縮的強(qiáng)大工具,它提供了多種壓縮算法和靈活的使用方式,包括Deflate、Gzip等,廣泛用于網(wǎng)絡(luò)傳輸和文件存儲(chǔ)中以減少數(shù)據(jù)大小,提高性能,本文給大家介紹Node.js zlib模塊屬性、方法及使用示例,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Nodejs中執(zhí)行的shell命令的代碼分享

    Nodejs中執(zhí)行的shell命令的代碼分享

    雖然nodejs運(yùn)行時(shí)提供了和OS交互的諸多API命令,但是有些操作(例如:特定系統(tǒng)信息獲?。┻€是使用shell命令更加方便一些,下面就跟隨小編一起來(lái)看看有哪些是宜在nodejs中執(zhí)行的shell代碼吧
    2024-02-02
  • Node.js 實(shí)現(xiàn)搶票小工具 & 短信通知提醒功能

    Node.js 實(shí)現(xiàn)搶票小工具 & 短信通知提醒功能

    這篇文章主要介紹了Node.js 實(shí)現(xiàn)搶票小工具 & 短信通知提醒功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 深入解讀Node.js中的koa源碼

    深入解讀Node.js中的koa源碼

    這篇文章主要介紹了深入解讀Node.js中的koa源碼,任何一個(gè)框架的出現(xiàn)都是為了解決問(wèn)題,而Koa則是為了更方便的構(gòu)建http服務(wù)而出現(xiàn)的。 可以簡(jiǎn)單的理解為一個(gè)HTTP服務(wù)的中間件框架。,需要的朋友可以參考下
    2019-06-06
  • 輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序

    輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序,本系列文章將一步一步創(chuàng)建一個(gè)完整的nodejs服務(wù)器,需要的朋友可以參考下
    2014-12-12
  • Node中的streams流的具體使用

    Node中的streams流的具體使用

    本文主要介紹了Node中的streams流的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 一文詳解Node中module.exports和exports區(qū)別

    一文詳解Node中module.exports和exports區(qū)別

    這篇文章主要介紹了一文詳解Node中module.exports和exports區(qū)別
    2023-03-03
  • Nodejs關(guān)于gzip/deflate壓縮詳解

    Nodejs關(guān)于gzip/deflate壓縮詳解

    本文主要向大家介紹了nodejs中關(guān)于gzip/deflate壓縮的2種方法,分別是管道壓縮和非管道壓縮,十分詳細(xì),并附帶示例,這里推薦給大家參考下。
    2015-03-03
  • node.JS的crypto加密模塊使用方法詳解(MD5,AES,Hmac,Diffie-Hellman加密)

    node.JS的crypto加密模塊使用方法詳解(MD5,AES,Hmac,Diffie-Hellman加密)

    本文將詳細(xì)介紹node.JS的加密模塊crypto實(shí)現(xiàn)MD5,AES,Hmac,Diffie-Hellman加密的詳解方法,需要的朋友可以參考下
    2020-02-02

最新評(píng)論

黎川县| 漠河县| 嫩江县| 兰西县| 清水河县| 大足县| 酒泉市| 瑞昌市| 德庆县| 泰宁县| 杭州市| 湘乡市| 中西区| 佳木斯市| 栾城县| 德庆县| 阜平县| 如东县| 冀州市| 民丰县| 乐山市| 金华市| 平塘县| 基隆市| 离岛区| 新营市| 五原县| 金寨县| 怀柔区| 唐山市| 攀枝花市| 翼城县| 财经| 凉山| 建瓯市| 两当县| 勃利县| 宝鸡市| 湟中县| 朝阳县| 鄂尔多斯市|