项目需要在electron中起一个http服务用于访问本地的音频文件,经过研究,其实和普通的http服务一样
audioServer.js文件:
const path = require('path')
const http = require('http')
const fs = require('fs')
const os = require('os')
function audioServer(callback) {
const server = http.createServer((req, res) => {
const filePath = path.join(os.tmpdir(), decodeURIComponent(req.url))
fs.stat(filePath, (err, stats) => {
// 这个header用于支持断点续传
res.setHeader('Accept-Ranges', 'bytes')
res.setHeader('Content-Length', stats.size)
// 返回一个流媒体
fs.createReadStream(filePath).pipe(res)
})
})
server.listen(7888, '127.0.0.1', () => {
callback()
})
}
export default audioServer
index.js文件:
audioServer(() => {
win.mainWin.loadURL(winURL)
})