javascript - 在nodejs中使用fs的绝对路径

标签 javascript node.js http

我正在尝试从我的 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 获取流,则需要使用 httprequest。或者,如果您想在不使用网络的情况下获取文件系统上的文件,则需要使用文件系统上的路径而不是 URL。

fs.createReadStream 只能打开文件系统中的本地文件。

更多详细信息,请参阅:

要通过网络获取文件,请参阅:

关于javascript - 在nodejs中使用fs的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41346395/

相关文章:

node.js - 无法从函数中获取输出

android - 无法让 HttpParams 与 Postrequest 一起使用

http - 如何使用 golang 定义自定义 mux

java - 重用授权 header 以防止 Jersey Client 的多个 407 代理身份验证挑战

javascript - 是否可以通过 Javascript 下载数据,然后通过文件路径引用该数据?

javascript - HTML 表单方法与 jQuery 函数类型

javascript - 选择值选择作为键盘按钮按下

javascript - JS 脚本调用 PHP 脚本,但我无法处理 html 的 JSON

javascript - 如何在 Javascript 中将 CSS 选择器转换为 XPath?

node.js - 错误处理程序表示无效