我正在尝试从我的 nodejs
服务器传输 http 音频流
:
var streamPath = 'http://127.0.0.1:1485/mystream.mp3';
var stat = fs.statSync(streamPath);
response.writeHead(200, {'Content-Type': 'audio/mpeg','Content-Length': stat.size});
fs.createReadStream(streamPath).pipe(response);
问题是 fs
不喜欢绝对路径,我得到以下错误:
Error: ENOENT: no such file or directory, stat 'C:\myserver\http:\127.0.0.1:1485\mystream.mp3'
我找不到使用绝对路径
的方法。这甚至可以使用 fs
吗?
最佳答案
'http://127.0.0.1:1485/mystream.mp3'
不是绝对路径,它是一个 URL。
绝对路径类似于文件系统上的 /home/x/dir/file.txt
。
如果您想从 URL 获取流,则需要使用 http
或 request
。或者,如果您想在不使用网络的情况下获取文件系统上的文件,则需要使用文件系统上的路径而不是 URL。
fs.createReadStream
只能打开文件系统中的本地文件。
更多详细信息,请参阅:
要通过网络获取文件,请参阅:
关于javascript - 在nodejs中使用fs的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41346395/