nodejs抓取网络图片转换为base64编码的图片
抓取网络图片需要加载http模块
//假定这是index.js文件
var http = require('http');
var url = 'http://p0.meituan.net/tuanpic/3df525af5a3f7fe04077567d2a6caf794904.png'; //一张网络图片
http.get(url,function(res){
var chunks = []; //用于保存网络请求不断加载传输的缓冲数据
var size = 0; //保存缓冲数据的总长度
res.on('data',function(chunk){
chunks.push(chunk); //在进行网络请求时,会不断接收到数据(数据不是一次性获取到的),
//node会把接收到的数据片段逐段的保存在缓冲区(Buffer),
//这些数据片段会形成一个个缓冲对象(即Buffer对象),
//而Buffer数据的拼接并不能像字符串那样拼接(因为一个中文字符占三个字节),
//如果一个数据片段携带着一个中文的两个字节,下一个数据片段携带着最后一个字节,
//直接字符串拼接会导致乱码,为避免乱码,所以将得到缓冲数据推入到chunks数组中,
//利用下面的node.js内置的Buffer.concat()方法进行拼接
size += chunk.length; //累加缓冲数据的长度
});
res.on('end',function(err){
var data = Buffer.concat(chunks, size); //Buffer.concat将chunks数组中的缓冲数据拼接起来,返回一个新的Buffer对象赋值给data
console.log(Buffer.isBuffer(data)); //可通过Buffer.isBuffer()方法判断变量是否为一个Buffer对象
var base64Img = data.toString('base64'); //将Buffer对象转换为字符串并以base64编码格式显示
console.log(base64Img); //进入终端terminal,然后进入index.js所在的目录,
//在终端中输入node index.js
//打印出来的就是图片的base64编码格式,格式如下
});
});
抓取网络图片后转换为base64编码格式,格式如下:
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
Question:
1:把图片转换为base64编码有什么用?
2:转换后的base64编码怎么使用?
Answer:
1.将图片转换为base64编码可以实现网页图片在网速不好的时候先于内容加载和减少http的请求次数来减少服务器的负担;
2.使用方法(以png为例),上面一大坨的编码简写为abc
background:url("data:image/png;base64,abc") no-repeat;
假如转换的是其他格式的图片(如gif)则改写成background:url("data:image/gif;base64,abc") no-repeat;
如说得不妥,欢迎留言指出,谢谢
nodejs抓取网络图片转换为base64编码的图片的更多相关文章
- Javascript 将图片的绝对路径转换为base64编码
Javascript将图片的绝对路径转换为base64编码 我们可以使用canvas.toDataURL的方法将图片的绝对路径转换为base64编码:在这我们引用的是淘宝首页一张图片如下: var i ...
- php把网络图片转Base64编码。
/** 把网络图片图片转成base64 * @param string $img 图片地址 * @return string */ /*网络图片转为base64编码*/ function imgtob ...
- C#抓取网络图片保存到本地
C#抓取网络图片保存到本地 System.Net.WebClient myWebClient = new System.Net.WebClient(); //将头像保存到服务器 string virP ...
- Js 将图片的绝对路径转换为base64编码
转.... 我们可以使用canvas.toDataURL的方法将图片的绝对路径转换为base64编码:在这我们引用的是淘宝首页一张图片如下: var img = "https://img. ...
- php把网络图片转Base64编码。(php将图片链接直接转化为base64编码)
/** 把网络图片图片转成base64 * @param string $img 图片地址 * @return string */ /*网络图片转为base64编码*/ public function ...
- Qt 中十六进制字节流转换为Base64编码
在Qt中,在网络通信时,有时需要将16进制字节流转换为Base64编码传输,在Qt的QByteArray类中,提供了与Base64转换的接口: //16进制字节流转为Base64 QByteArray ...
- Java Base64编码与图片互转
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...
- Base64编码与图片互转
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...
- 问题:C#将base64转换成二进制图片;结果:c# Base64编码和图片的互相转换代码
c# Base64编码和图片的互相转换代码 Base64编码在Web方面有很多应用,譬如在URL.电子邮件方面.网上有很多相关的资源用于提供Base64编码和其他编码的转换,.Net Framewor ...
随机推荐
- [翻译] 编写高性能 .NET 代码--第五章 通用编码与对象设计 -- 类 vs 结构体
本章介绍了本书其它部分未涉及到的一些编码和设计原则.包含了一些.NET的应用场景,有些不会造成太大危害,有些则会造成明显的问题.剩下的则根据你的使用方法会产生不同的效果.如果要对本章节出现的原则做一个 ...
- 为什么说上ERP找死?
长期以来,管理软件领域流行着这样一句话“不上ERP等死,上了ERP找死”.根据为十九年管理软件开发的经验来看,“不上ERP等死”这句话不敢苟同,但“上了ERP找死”这句话倒有些同感.上ERP虽然不一定 ...
- C语言错题小本子
int a; ; a = ! x< //a的值是多少 我的答案:0, 正确答案:1 错误原因:没有熟练掌握运算符的优先级 // 找出下面无效的C语言变量名 A. _a B. main C. pr ...
- java mvc框架系列总结ssh,ssm,servlet
2016年10月3日 10:36:40 一直以来都很想写属于自己的博客,一来可以分享自己的学习经验,二来可以及时总结,毕竟博客是写给所有人看的,需要更加仔细的注意每个细节,而不是仅仅让自己看懂. 学了 ...
- 解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG
解决 Excel 打开 UTF-8 编码 CSV 文件乱码的 BUG zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6 ...
- Vulkan Tutorial 11 Shader modules
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 与之前的图像API不同,Vulkan中的着色器代码必须以二进制字节码的格式使用,而不 ...
- JS之DOM那些事
DOM 是 Document Object Model(文档对象模型)的缩写.DOM分为核心DOM.XML DOM.HTML DOM,我们接触的主要是HTML DOM,HTML DOM 定义了所有 H ...
- [BZOJ1597]土地购买
Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000, ...
- Git添加远程报错:remote origin already exists.
在本地创建了一个Git仓库,如何在Github创建一个Git仓库,并且让这两个仓库进行远程同步,这样Github上的仓库既可以作为备份仓库,还可以通过该仓库进行多人协作. 1.登录github,建立一 ...
- springmvc 之 DispatcherServlet
DispatcherServlet说明 使用Spring MVC,配置DispatcherServlet是第一步. DispatcherServlet是一个Servlet,所以可以配置多个Dispat ...