nodejs脚本-将网络图片转成base64码方便写md插图

var http = require('http');
var https = require('https');
var exec = require('child_process').exec; // 用于执行linux命令,复制内容到剪贴板
// 复制内容到剪贴板需安装一个模块
// sudo npm install -g clipboard-cli

// Test::
// var url = 'http://www.baidu.com/img/baidu_jgylogo3.gif';

var url = global.process.argv[2];

var httpModule = {http: http, https: https};

var imgHttpType = url.match(/^(\w+)\:/)[1];

httpModule[imgHttpType].get(url, function(res){
	var chunks = [];
	var size = 0;

	var type = url.match(/\.(\w+)$/)[1];

	res.on('data', function(chunk){
		chunks.push(chunk);

		size += chunk.length;
	})

	res.on('end', function(err){
		var data = Buffer.concat(chunks, size);
		var base64Img = data.toString("base64");

		var base64ImgForMarkdown = "data:image/" + type + ";base64," + base64Img;

		console.log("原始base64码:\n\n", base64Img);
		console.log("\n");
		console.log("添加了头的base64码:\n\n", base64ImgForMarkdown);

		var cmd = 'echo "' + base64ImgForMarkdown + '"| clipboard';

		console.log(cmd);
		exec(cmd, function(err, stdout, stderr) {
			if (err || stderr) {
				console.error("\n复制到剪贴板失败!");
				return;
			}
			
			console.log("\n复制到剪贴板成功!");
		})

	})
})

猜你喜欢

转载自www.cnblogs.com/hencins/p/12794469.html