node.js如何根据URL返回指定的图片详解
学node的过程碰到的一些坑,当时以为只需将图片放在html页面指定的路径下,访问该页面时,图片也会获取到,现在想来,或许是服务器只提供这个html的文件,交由客户端的浏览器编译,在客户端里并不存在该图片文件,所以图片自然无法获取到。在看其他页面的源代码后,发现,他们的图片路径都是通过访问网络资源得到的,所以说,图片也应属于网络资源,而不是这样
代码便不是如下所示
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <img src="img/NAROTA.jpg"/> </body> </html>
那么怎么设置网络资源呢,比如一张png格式的图片,我们需要知道,网络资源放在我们的服务器,所以我们的node.js服务器中应该在客户端访问这张图片时读取这张图片,然后再返回给客户端,狼蚁网站SEO优化我们直接贴出代码,这个是我自己瞎捉摸的,我目前也不知道主流的做法是怎么样的,还是优化了一下url的解析
var http=require("http"); var fs=require("fs"); var url=require("url"); //创建一个server的实例 var server=http.createServer(function(req,res){ var pathname=url.parse(req.url).pathname; //当url的ip加端口号的后1到7位为img/png时,返回以该路径下对应的png图片 if(pathname.substring(1,8)==='img/png'){ fs.readFile(pathname.substring(1),function(err,data){ res.writeHead(200,{'Content-Type':'image/png'}); res.end(data); }); } //jpg同上 if(pathname.substring(1,8)==='img/jpg'){ fs.readFile(pathname.substring(1),function(err,data){ res.writeHead(200,{'Content-Type':'image/jpeg'}); res.end(data); }); } }).listen(3010);//监听在3010端口 console.log('服务器已开启......');
主要是如何解析url,比如我要访问127.0.0.1:3010这个ip加端口的服务器,其目录下的img/png的warn.png这张图片,在上述代码中,我就只需访问127.0.0.1:3010/img/png/warn.png ,效果如下
具体思路是,将url中的img/png/xxx.png解析出来作为我们读取图片的参数,这样做得好处是只需一条判断语句即可处理所有的png类型的图片。
在node.js中,可以通过writeHead() 方法写头,表明该文件的类型,可以将大部分的文件类型设置为网络资源。
狼蚁网站SEO优化是一些常用的HTTP Content-Type,希望对大家能有帮助
到此这篇关于node.js如何根据URL返回指定图片的文章就介绍到这了,更多相关node.js根据URL返回图片内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南