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 ...
随机推荐
- Spark踩坑记——从RDD看集群调度
[TOC] 前言 在Spark的使用中,性能的调优配置过程中,查阅了很多资料,之前自己总结过两篇小博文Spark踩坑记--初试和Spark踩坑记--数据库(Hbase+Mysql),第一篇概况的归纳了 ...
- day5_ 导入模块和包
######################模块导入模块做的事1.产生新的名称空间2.以新建的名称空间为全局名称空间,执行文件的代码3.拿到一个模块名spam,指向spam.py产生的名称空间 imp ...
- [HDU1000] A + B Problem
Problem Description Calculate A + B. Input Each line will contain two integers A and B. Process to e ...
- keyup实现在输入状态不发送搜索请求,停止输入后发送
个人需求:通过keyup事件配合后台elasticsearch(弹性搜索),用户在输入状态不发送请求,等停止输入后发送请求. 这是个思考笔记,因为项目临时需要弹性搜索功能,所以临时想了这么个法子,方法 ...
- 【MyBatis源码分析】insert方法、update方法、delete方法处理流程(下篇)
Configuration的newStatementHandler分析 SimpleExecutor的doUpdate方法上文有分析过: public int doUpdate(MappedState ...
- 移动端设置fixed布局的问题解决
最近写移动端,遇到一个问题就是用fixed属性布局的时候由于手机的原因会出现很多问题,比如说手机端底部固定一块,然后里面有输入框,(类似于手机QQ或者微信底部的输入框一样的布局)这个时候在调用软键盘的 ...
- git clone https://github.com/istester/ido.git ,确提示“Failed to connect to 192.168.1.22 port 8080: Connection refused” 的解决办法 。
不知道是否有同学遇到如下的问题: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo } span.s1 { } git clone ...
- solr学习笔记section2-solr单机(节点)简单的core操作
在上一节中我们已经成功部署和运行了一个solr应用,那么我们就可以通过这个正在运行的solr来创建一些文档,并进行搜索. 首先介绍一下core这个概念,core在solr中类似与关系型数据库中一张表的 ...
- 进程控制fork与vfork
1. 进程标识符 在前面进程描述一章节里已经介绍过进程的两个基本标识符pid和ppid,现在将详细介绍进程的其他标识符. 每个进程都有非负的整形表示唯一的进程ID.一个进程终止后,其进程ID就可以再次 ...
- CSDN删除上传资源的办法
转自网友:http://blog.csdn.net/ssergsw/article/details/12489101 我按照下面的方法一试,果然成功了. 昨天晚上进行测试,上传了一个压缩包和大家分享, ...