概述
- 需要调用某个图片处理服务
- 该接口要求的输入是
base64
编码字符串
- 该接口要求的输入是
png-base64
实现
- 把目标图片编码为
base64
字符串,保存到txt
里面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
const fs = require('fs') function img2base64(path) { const buffer = fs.readFileSync(path); const mimetype = get_mime_type(path); return `data:${mimetype};base64,${buffer.toString('base64')}`; } function get_mime_type(path) { const ext = path.split('.').pop().toLowerCase(); return { jpg: 'image/jpeg', png: 'image/png', gif: 'image/gif', }[ext] || 'application/octet-stream'; } function test() { const basestr = img2base64("d:\\code_test\\js\\tree.jpg") fs.writeFileSync("d:\\code_test\\js\\new.txt", basestr); } test(); |
生成结果
1 2 3 |
data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7gAOQWRvYmUAZAAAAAAB/+ESkEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAACGAEgAAAABAAAASAAAAAEAAAADoAEAAwAAAAH//wAAoAIABAAAAAEAAAeAoAMABAAAAAEAAASwAAAAAAAAAAYBAwADAAAAAQAGAAABGgAFAAAAAQAAANQBGwAFAAAAAQAAANwBKAADAAAAAQACAAACAQAEAAAAAQAAAOQCAgAEAAAAAQAAEaMAAAAAAAAASAAAAAEAAABIAAAAAf/Y/+AAEEpGSUYAAQIBAEgASAAA/+0ADEFkb2JlX0NNAAL/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABQAIADASIAAhEBAxEB/90ABAAI/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/ // 省去若干数据 +u2dvDeW4qylyFPh9j5HZuxIPFsHrzMYdmRaNmaoWtpapCJxM9MNISZGIb3LbXOqRWJzhTUk4NSD6kjP5enTiXK6hCtAAOPp/xeel3R/Jig+Sm68xszdc29MNujcNVlt2bL7H3CDmsvQ7239l6eh2/gjS0ayCnxMGLiXHrVxko6U6zvb1ezjYYJ4mBmUkHT60p6/mekd6UAEYINeAqBgcP2Yr0TP59dSyYGv2z3zjKQYzA72ll2LusPpSoi7N2bhY8fU5yoAN2nzNBEtVXhRZKtJG+kykjaNxIxRlIp+z/AFZr0HHjlZSJcFT5cAa5/wA3RI8fXGqw0kxjR2jWJPFHeO5IV4p2J/tE3Zrf6o/19v6FFKY6YUVqB0osjV03l8qaFSqCSOFN9L+HSES35Nyf8AP8Pfhwpx6tpP7Og1y89PknPkiW8Tu4vYENfizrza/Nj7cQ54cerAHpDSxAVFmXWsMtkhvYTINU0hZv6MBp59uk4p04oyCesecytfmcnkMzkKp6ivyVVNkaupkYMXnrJ2qKgysPobyAWH04HvXaQKDqrKCSzcev/9k= |
有效数据
1 2 3 |
/9j/4AAQSkZJRgABAgEASABIAAD/7gAOQWRvYmUAZAAAAAAB/+ESkEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAACGAEgAAAABAAAASAAAAAEAAAADoAEAAwAAAAH//wAAoAIABAAAAAEAAAeAoAMABAAAAAEAAASwAAAAAAAAAAYBAwADAAAAAQAGAAABGgAFAAAAAQAAANQBGwAFAAAAAQAAANwBKAADAAAAAQACAAACAQAEAAAAAQAAAOQCAgAEAAAAAQAAEaMAAAAAAAAASAAAAAEAAABIAAAAAf/Y/+AAEEpGSUYAAQIBAEgASAAA/+0ADEFkb2JlX0NNAAL/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABQAIADASIAAhEBAxEB/90ABAAI/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/ // 省去若干数据 +u2dvDeW4qylyFPh9j5HZuxIPFsHrzMYdmRaNmaoWtpapCJxM9MNISZGIb3LbXOqRWJzhTUk4NSD6kjP5enTiXK6hCtAAOPp/xeel3R/Jig+Sm68xszdc29MNujcNVlt2bL7H3CDmsvQ7239l6eh2/gjS0ayCnxMGLiXHrVxko6U6zvb1ezjYYJ4mBmUkHT60p6/mekd6UAEYINeAqBgcP2Yr0TP59dSyYGv2z3zjKQYzA72ll2LusPpSoi7N2bhY8fU5yoAN2nzNBEtVXhRZKtJG+kykjaNxIxRlIp+z/AFZr0HHjlZSJcFT5cAa5/wA3RI8fXGqw0kxjR2jWJPFHeO5IV4p2J/tE3Zrf6o/19v6FFKY6YUVqB0osjV03l8qaFSqCSOFN9L+HSES35Nyf8AP8Pfhwpx6tpP7Og1y89PknPkiW8Tu4vYENfizrza/Nj7cQ54cerAHpDSxAVFmXWsMtkhvYTINU0hZv6MBp59uk4p04oyCesecytfmcnkMzkKp6ivyVVNkaupkYMXnrJ2qKgysPobyAWH04HvXaQKDqrKCSzcev/9k= |
base64-png
实现
1 2 3 4 5 6 7 8 9 10 |
const fs = require('fs'); const base64str = "/9j/4AAQSkZJRgABAgEASABIAAD/7gAOQWRvYmUAZAAAAAAB/+ESkEV4aWYAAE1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAACGAEgAAAABAAAASAAAAAEAAAADoAEAAwAAAAH//wAAoAIABAAAAAEAAAeAoAMABAAAAAEAAASwAAAAAAAAAAYBAwADAAAAAQAGAAABGgAFAAAAAQAAANQBGwAFAAAAAQAAANwBKAADAAAAAQACAAACAQAEAAAAAQAAAOQCAgAEAAAAAQAAEaMAAAAAAAAASAAAAAEAAABIAAAAAf/Y/+AAEEpGSUYAAQIBAEgASAAA/+0ADEFkb2JlX0NNAAL/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABQAIADASIAAhEBAxEB/90ABAAI/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/ // 省去若干数据 +u2dvDeW4qylyFPh9j5HZuxIPFsHrzMYdmRaNmaoWtpapCJxM9MNISZGIb3LbXOqRWJzhTUk4NSD6kjP5enTiXK6hCtAAOPp/xeel3R/Jig+Sm68xszdc29MNujcNVlt2bL7H3CDmsvQ7239l6eh2/gjS0ayCnxMGLiXHrVxko6U6zvb1ezjYYJ4mBmUkHT60p6/mekd6UAEYINeAqBgcP2Yr0TP59dSyYGv2z3zjKQYzA72ll2LusPpSoi7N2bhY8fU5yoAN2nzNBEtVXhRZKtJG+kykjaNxIxRlIp+z/AFZr0HHjlZSJcFT5cAa5/wA3RI8fXGqw0kxjR2jWJPFHeO5IV4p2J/tE3Zrf6o/19v6FFKY6YUVqB0osjV03l8qaFSqCSOFN9L+HSES35Nyf8AP8Pfhwpx6tpP7Og1y89PknPkiW8Tu4vYENfizrza/Nj7cQ54cerAHpDSxAVFmXWsMtkhvYTINU0hZv6MBp59uk4p04oyCesecytfmcnkMzkKp6ivyVVNkaupkYMXnrJ2qKgysPobyAWH04HvXaQKDqrKCSzcev/9k=" // 去除头部信息 const cleanBase64 = base64str.split(',')[1] || base64str; const buffer = Buffer.from(cleanBase64, 'base64'); fs.writeFileSync('output.jpg', buffer); |
base64-mp4
实现
1 2 3 4 5 6 7 8 9 10 |
const fs = require('fs'); const base64str = "AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQACgLBtZGF0AAACrwYF//+r3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ5MSAyNGU0ZmVkIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTMzIGxvb2thaGVhZF90aHJlYWRzPTMgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MyBiX3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEgd2VpZ2h0Yj0xIG9wZW5fZ29wPTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0xNSBzY2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmNfbG9va2FoZWFkPTQwIHJjPWNyZiBtYnRyZWU9MSBjcmY9MjMuMCBxY29tcD0wLjYwIHFwbWluPTAgcXBtYXg9NjkgcXBzdGVwPTQgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAABV7RliIQAT/ebEYxYNx8hk/X20OopvXryFYthK8/DY7iMFB2nJxVDbdhCOJpsVTCtD17lftg0i9BiuoayhapsNZZY+dEXqU4LsdZQjHW9vi2l9yD6VHWZCnY3XSup4OwQW29p5Gh/rt33m3QpwKhC39Vr0xvt852yHd5Zr/yRDWJhBzG/+xtr7dK1q3rrYrm2rmXwuqiyjEbV//s5PVH5laKw4MrC/ //省去若干数据 // SiL98quzs4xGSIGMHr7EKvViLKPDueP/1Qf4gkQFYteI/+tjGDWwPQcbBdy32xJWQswAAA7dtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAHjgABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAC4nRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAHjgAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAACvAAAAa4AAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAB44AAAgAAAEAAAAAAlptZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAADwAAAB0AFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAIFbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAABxXN0YmwAAACZc3RzZAAAAAAAAAABAAAAiWF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAACvAGuAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAzYXZjQwFkABb/4QAaZ2QAFqzZQLA37rARAAADAAEAAAMAHg8WLZYBAAZo6+PLIsAAAAAYc3R0cwAAAAAAAAABAAAAHQAABAAAAAAUc3RzcwAAAAAAAAABAAAAAQAAAEBjdHRzAAAAAAAAAAYAAAAYAAAIAAAAAAEAABQAAAAAAQAACAAAAAABAAAAAAAAAAEAAAQAAAAAAQAACAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAB0AAAABAAAAiHN0c3oAAAAAAAAAAAAAAB0AAVprAABzVQAACQQAAAW2AAAEdwAAA58AAAOQAAADRAAAAy4AAAMPAAADFwAAAtEAAGCAAAAGawAABAMAAAMjAAACtgAAAosAAAIfAAACewAAAnwAAAJ6AAACIQAAAkcAAARWAAAA4AAAANIAAAB1AAABWAAAABRzdGNvAAAAAAAAAAEAAAAwAAAAYXVkdGEAAABZbWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAsaWxzdAAAACSpdG9vAAAAHGRhdGEAAAABAAAAAExhdmY1Ni40LjEwMQ==" // 去除头部信息 const cleanBase64 = base64str.split(',')[1] || base64str; const buffer = Buffer.from(cleanBase64, 'base64'); fs.writeFileSync('trees.mp4', buffer); |
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!