一、读取图片,base64格式和二进制相互转换
var fs=require('fs');
var path=require('path');
var file=path.resolve('F:/MyDocument/Picture/Icon/使用过的/play.png');
var content=new Buffer(0);//累计合并读取片段
fs.readFile(file,function(err,chunk){
if(err)
return console.error(err);
console.log(chunk);
//将图片转换成base64 字符串
console.log(chunk.toString('base64'));
console.info('*********************');
//合并Buffer
content=Buffer.concat([content,chunk]);
console.log(content.toString('base64'));
//将base64字符串转换成二进制保存成图片
var imgData=new Buffer(content,'base64');
fs.writeFile(path.resolve('/test1/logo.png'),imgData,function(err){
if(err)
return console.error(err);
console.log('保存文件成功');
});
});
二、读取文本文件,及支持字符编码之间相互转换
var fs=require('fs');
var path=require('path');
var file=path.resolve('F:/MyDocument/Picture/Icon/使用过的/play.png');
var content=new Buffer(0);//累计合并读取片段
fs.readFile(file,function(err,chunk){
if(err)
return console.error(err);
console.log(chunk);
//将图片转换成base64 字符串
console.log(chunk.toString('base64'));
console.info('*********************');
//合并Buffer
content=Buffer.concat([content,chunk]);
console.log(content.toString('base64'));
//将base64字符串转换成二进制保存成图片
var imgData=new Buffer(content,'base64');
fs.writeFile(path.resolve('/test1/logo.png'),imgData,function(err){
if(err)
return console.error(err);
console.log('保存文件成功');
});
});
三、读取流操作实例
var fs=require('fs');
var path=require('path');
var file=path.resolve('/test1/one.txt');
var rs=fs.createReadStream(file,{highWaterMark:5});
var dataArr=[],//存储读取的结果集合
len=0;
/*
* 1.读取结果为Buffer对象
*/
rs.on('data',function(chunk){
console.log(Buffer.isBuffer(chunk));
dataArr.push(chunk);
len+=chunk.length;
});
rs.on('end',function(){
var result=Buffer.concat(dataArr,len).toString();
console.log(result);
});
Buffer 类二:http://blog.csdn.net/u011127019/article/details/52512353
Buffer 类一:http://blog.csdn.net/u011127019/article/details/52512242