用async实现图片下载程序分离出处理程序

var async=require('async');
var save_path = "保存路径";
async.waterfall([
	function(callback){
		require('http').get("http://localhost/down.png", function(res) {
			var data = '';
			res.setEncoding("binary"); 
			res.on('data', function (chunk) {
				data += chunk;
			});
			res.on('end', function(){
				callback(null, data);
			});
		});
	},
	function(data, callback){
		var fs = require("fs");
		fs.writeFile(save_path, data, "binary", function (err) {
			if (err) throw err;
			alert("Save!");
		});
	}
]);


注意下载和保存的时候,均需要加入binary的选项,否则图片无法存成二进制。

你可能感兴趣的:(nodejs)