时间:2021-07-01 10:21:17 帮助过:11人阅读
Edit:2016-5-11 修正了代码里面一些明显的错误,并发布在 ajaxjs 库之中,源码在这里。
Edit:2016-5-24 加入 HEAD 请求,检测图片大小。如果小于 80kb 则无须压缩,返回 302 重定向。
node HEAD 请求
必须先赞下国人 npm 库作品:node-images(github.com/zhangyuanwei/node-images),封装了跨平台的 C++ 逻辑,形成 nodejs API 让我们这些小白愉快地使用。之前用过 GraphicsMagick for nodejs,功能最强大,但包体积也比较大,依赖度高,最近好像还爆出了漏洞事件。node-images 相比 GM,主要是更轻量级,无需安装任何图像处理库。
安装 node-images:
npm install images
npm 包比较大,node_modules 里面有个 node-images.tar.gz 压缩包,下载完之后可以删掉,但剩余也有 11mb。
图片服务器,当前需求是:一个静态服务器,支持返回 jpg/png/gif 即可;支持 HTTP 缓存;支持指定图片分辨率;支持远程图片加载。加载远程图片,可通过设置 maxLength 来限制图片文件大小。
实施过程中,使用 Step.js 参与了异步操作,比较简单。
服务器的相关配置:
请求例子:
localhost:3001/asset/coming_soon.jpg?w=300
localhost:3001/asset/coming_soon.jpg?h=150
localhost:3001/asset/coming_soon.jpg?w=300&h=150
localhost:3001/?url=http://s0.hao123img.com/res/img/logo/logonew.png
完整源码:
【相关推荐】
1. 免费js在线视频教程
2. JavaScript中文参考手册
3. php.cn独孤九贱(3)-JavaScript视频教程
以上就是分享利用node-images实现图片服务器功能的实例代码的详细内容,更多请关注Gxl网其它相关文章!