node http server
var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req, res) {
fs.readFile('img.txt', function(err, data) {
var dataString = data.toString();
var matches = dataString.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/),
imgData = {};
imgData.type = matches[1];
imgData.data = new Buffer(matches[2], 'base64');//base64解码
res.writeHead(200, {
'Content-Type': 'application/jpeg',
"Content-Disposition": "attachment;filename=img.jpeg;" //设置浏览器保存时的文件名称
});
res.write(imgData.data);
res.end();
});
});
server.listen(3000);
图片文件:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCABWAEQDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDyev64P+V8KACgAoAKACgAoAKACgAoAKAPiL49/tGto9zr3hLwbrKaa+hmWz13XIGj+2y6lGrm70zTLh9yada6YB5Oq6nGr6jJqAn03TJNPnsLvUm+RzfOpuWJwuCxHsY0G4V8TDldWVVcynQoN3VNU9qtZpzVROnT5JwnUP8AS36Jn0P8p4oyXLvFDxXwE8dlmZxji+E+Eak6tHDY3AKclSz3PnTcK1XC4tx9pleWRqU6OIwvJjsbOvhK9HCv8zf2jfhZ+0l8JtY8M6x+0D8M/i58N