文件浏览器【实现只能读取一个跳转的.html文件】
const http
=require('http');
const path
=require('path');
const url
=require('url');
const fs
=require('fs');
const hostname
='172.16.124.101';
const port
=8010;
var documentRoot
='D:/projects/node/lessons/servers/server';
const server
=http
.createServer((req
,res
)=>{
let pathname
=url
.parse(req
.url
).pathname
;
var urlname
=req
.url
;
var file
=documentRoot
+urlname
;
console
.log(pathname
);
console
.log(file
);
if(pathname
=='/'){
fs
.readdir(documentRoot
,function(err
,files
){
if(err
){
console
.log("files err");
res
.writeHeader(404,{
'content-type':'text/html;charset="utf-8"'
});
res
.write('<h1>文件读取错误</h1><p>你要找的页面不存在</p>');
res
.end();
}else{
res
.writeHeader(200,{
'content-type':'text/html;charset="utf-8"'
});
for(let i
=0;i
<files
.length
;i
++){
if(files
[i
].substr(-5)=='.html'){
res
.write('<a href="'+files
[i
]+'">'+files
[i
]+'</a><br>');
}else{
res
.write(files
[i
]);
res
.write("<br>");
}
}
res
.end();
}
}
);
} else if (pathname
='/'){
res
.writeHead(200, { 'Content-Type': 'text/html' });
res
.end(fs
.readFileSync(path
.join(__dirname
, pathname
, 'Untitled-1.html')));
}else{
res
.writeHeader(404,{
'content-type': 'text/html;charset="utf-8"'
});
res
.write('<h1>404错误</h1><p>你要找的页面不存在</p>');
res
.end();
}
});
server
.listen(port
,hostname
,()=>{
console
.log(`Server running at http://${hostname}:${port}/`)
})
结果
问题
转载请注明原文地址:https://blackberry.8miu.com/read-41044.html