node.js---响应html数据、图片数据等给客户端

响应html数据、图片数据等给客户端

  • Content-type的相应类型查询:https://tool.oschina.net/commons
  • 文件读取中,data默认是二进制数据,可以通过 .toString 转为咱们能识别的字符串
  • 相应数据res.end()支持两种数据类型,一种是二进制,一种是字符串
  • 一般字符数据才指定编码
 1 var http=require('http')
 2 var fs=require('fs')
 3 
 4 var server=http.createServer()
 5 
 6 server.on('request',function(req,res){
 7 
 8     var url=req.url
 9     switch(url){
10         case "/":
11             fs.readFile('./resource/index.html',function(err,data){
12                 if(err){
13                     res.setHeader('Content-type','text/plain;charset=utf-8')
14                     res.end('文件读取失败,请骚后重试!')
15                 }else{
16                     res.setHeader('Content-type','text/html;charset=utf-8')
17                     res.end(data)
18                 }
19             })
20         break;
21         case "/hulu":
22             fs.readFile('./resource/葫芦.jpg',function(err,data){
23                 if(err){
24                     res.setHeader('Content-type','text/plain;charset=utf-8')
25                     res.end('文件读取失败,请骚后重试!')
26                 }else{
27                     res.setHeader('Content-type','image/jpeg')
28                     res.end(data)
29                 }
30             })
31         break;
32         default:
33         break;
34     }
35 })
36 
37 server.listen(80,function(){
38     console.log('Server is running...')
39 })

index.html

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5     <title>Document</title>
 6 </head>
 7 <body>
 8     <h1>首页</h1>
 9     <h2>hello<h2>
10 </body>
11 </html>

运行结果1:

 运行结果2:

posted @ 2020-04-14 13:57  codeing123  阅读(608)  评论(0)    收藏  举报