流可以與在許多對象上也使用流的http模塊一起使用这弧。
比如說下面這個例子: 創(chuàng)建一個流的mp3服務(wù)器夷恍。
將一個.mp3格式的音頻文件放在本地文件夾下王财,本例中為July.mp3,在此文件夾下新建一個.js文件气破,暫且命名為mp3.js,寫入下面代碼:
// 創(chuàng)建流mp3服務(wù)器
// 引入http模塊和fs模塊
var http=require('http')
var fs=require('fs')
// 創(chuàng)建一個本地服務(wù)器,127.0.0.1:3000
http.createServer((req,res)=>{
var mp3='./July.mp3'
var stat=fs.statSync(mp3)
res.writeHead(200,{
'Content-Type':'audio/mpeg',
'Content-Length':stat.size
})
//創(chuàng)建可讀流
var readableStream=fs.createReadStream(mp3)
// 管道pipe流入
readableStream.pipe(res);
}).listen(3000)
console.log('服務(wù)器運行在 127.0.0.1:3000端口')
終端運行 node mp3
瀏覽器打開 127.0.0.1:3000
111.PNG
可以看到這是chrome瀏覽器打開下的效果,自動播放音樂餐抢,可以暫停现使,可以調(diào)節(jié)音量大小,右側(cè)的下載按鈕也能將音頻下載到本地旷痕。
win10系統(tǒng)自帶的Edge瀏覽器下打開效果
222.PNG