CNode

新人请教 数据流报错

问答
Yyunkou发布于10 年前最后回复10 年前2 回复3988 浏览0 收藏
const http = require('http');
const fs = require('fs');

const hostname = '127.0.0.1';
const port = 1337;

http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'image/png' });
  fs.createReadStream('./image.png').pipe(res);
}).listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

会报 Error: ENOENT: no such file or directory, open './image.png' image.png 在js 当前目录。 求问,导致报错的原因和改如何解决

查看回复

回复 (2)

M
magicdawn#1·10 年前

'./image.png' 使用 path.resolve 的, 然后就是基于 process.cwd(), 要是 image.png 跟 js 一个目录, 可改为 __dirname + '/image.png'

Y
yunkou#2·10 年前
引用 magicdawn'./image.png' 使用 path.resolve 的, 然后就是基于 process.cwd(), 要是 image.png 跟 js 一个目录, 可改为 dirname + '/i...

@magicdawn 谢谢,在node 中没有按照预想的相对目录的关系,/Users/name/Documents/code/node-in-action/ 这样也可以,__dirname 相当于当前目录了。

至于你说的 path.resolve 还不会用,以后碰到再回来看看

问题解决了,谢谢。

参与回复
登录后即可参与回复。登录