91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs如何實現大文件讀取

發布時間:2021-04-21 10:32:44 來源:億速云 閱讀:672 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關nodejs如何實現大文件讀取,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

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

老規矩,直接貼代碼講解:

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

通過fs模塊的ReadStream方法,拿到視頻流,然后綁定關閉事件:當流讀取到結尾的時候結束response請求,最后通過pipe方法進行小塊小塊的讀取。這里的head信息不能添加Content-Length屬性,因為必須分段讀取,如果加了這個屬性,瀏覽器就會以為請求結束了從而關閉請求。

關于“nodejs如何實現大文件讀取”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贺州市| 古交市| 遵化市| 哈巴河县| 洛宁县| 灵丘县| 宾阳县| 繁峙县| 墨竹工卡县| 吉林省| 洛隆县| 化德县| 星子县| 比如县| 丹东市| 广水市| 达孜县| 布尔津县| 阜城县| 永吉县| 莒南县| 巴中市| 天全县| 永顺县| 建阳市| 黄骅市| 广宗县| 藁城市| 车险| 神木县| 钟祥市| 金寨县| 依兰县| 博湖县| 枝江市| 石柱| 绥德县| 沂源县| 酒泉市| 新乡县| 纳雍县|