Base64 encoding can be used for any data. The output always % 3 = 0 (the last \n is counted).
base64 <filename> is a command to encode an image into base64 string
Below is my avatar in base64 encoding.
/9j/4AAQSkZJRgABAQAAAQABAAD/4QBgRXhpZgAASUkqAAgAAAACADEBAgAHAAAAJgAAAGmHBAAB
AAAALgAAAAAAAABQaWNhc2EAAAMAAJAHAAQAAAAwMjIwAqAEAAEAAABLAAAAA6AEAAEAAABLAAAA
AAAAAP/bAIQAAwICAwILDwwNDwoLCA0NDAoIDQoLCwgIDQoNDgoICggNCAgNCAgLCgoKCgoKCggN
DQgNCgkKCA0PCggNCAgKCAEDBAQGBQYKBgYKEAwMDhANDQ0PDw0NDA0MDAwMDAwMDAwNDAwNDAwM
DA0NDAwMDAwMDAwMDAwMDAwMDAwMDAwN/8AAEQgASwBLAwERAAIRAQMRAf/EAB0AAAICAgMBAAAA
AAAAAAAAAAcIBAYDBQABCQL/xAA+EAACAAMGAgcGAwUJAAAAAAABAgMEEQAFBhIhMQdBCBMiQlFh
gTJxkaGxwSOC8BZicpLRCRQVFxgzQ1Ki/8QAHAEAAQUBAQEAAAAAAAAAAAAABgIDBAUHAQAI/8QA
KxEAAgEDBAECBgIDAAAAAAAAAAECAwQRBRIhMUETFBUiMlFhoeHwBkJS/9oADAMBAAIRAxEAPwAQ
XbICeQtUVHLnbZ5ScOEY5SxJZZpIuetn4rjJFl9WC0SUe6sCwGm5j/YSiquxiRCRkgg/vHc60UMe
VqLUL30oPBf6fY+rPkG9/dOriRebBIDJLwhoiwEAQLyHWuIjMQKVY5QTrpyAp3MpvIewtIwWDB/r
O4v3fDB/vIrXvJCLepyivy99m/Vk+GLdvHwEHh5/aNYykWAmUl5iH32UNLRQOZBTrIRoORVKnvCz
8KpHnbZHK4U9ILCfGJKwXpFpmeFEoIyjYtlBIZa0Gda6kbVtJhNMiTg48F4aOhs/gaSwQ5kg2Wkh
EmyPUfo2VwM5Z5+R1jyjUG32toKjlJsAJSabiilY/wAbphlaChjMDlBNMo2MQ0105DvG1Nqd8rZb
I8svdLsHcPfLoBWMuJN7YnAhkhYKnMFhjIhbVesKa9uhOu+vutnla4nVfLNFoW0Ka4RCuFoB1fc6
LWp9QoIAApufK0ZZRJksku9LtSuhIB1Bair7qmlu7siI8HI8rMygp2dj7BBJHgTUrTz38Le3fgUW
TAeNrw4axkjQnMKYhmq0zuvarVWBquUr7aAjQjQ6AP05YeRqrBSX5PQfAfSgXHMukUFQzD8QDuuN
HTXkG1HkbFdrSVaOUCN1UlSlhm8/zXmJnvL8bS/aJeCG7lvydniBMN3h8be9svsJ9aX3FTmIsSY/
X2sZRSUZL7AbNtzi/uLLiu/401NOz6gMUpyCroF8KDc72yG/rSqV5Ns2OwpRp28VFGKFchvGpUE5
tqb766HYEbelqepV2lzTpyn0WK6+AGLr4WqoToCBpU12HhoLR1dJkn2kwicOuhhjPE9ScsLwz1Df
D7HQ2izvcPgm09Pb7LU/Q+xNd3tZB2jQGvsqzJUL7JqBmGoIqLNe/Y98NQMOJ/Cq8OHTAOFyuCUZ
FFfMsWJevuqLWNvceqsFXdWnovPgx8EbymZbrIYJpo6ivvUn17NfdbQNAqZTiwB16G1KSCyl5T8P
mbGTpICVWZKW+Lw8Wsn0kL9Zlv4d4U/x+JU6qup8PKzlxUUU15IlvTc5J+BQ+MeF2w7eUaDsOt7P
8L0dfk1skvnipI2OxW6lAZ3glgG7LmVaqGc0BYiulASR5V5ctuVga5qy3dmgWlBKOcDm4Nkruu1B
REPoPt52ajPgflDk3cGDBYg0A1qKafSzLlyOxXB1iKFBI1A8AKVA9Le5fRzyJ/0zriiw5YRQKhG7
VOQOmbTlaxsJbZ4ZWajRdSmmvAv/AEQsNyWIpx3jEpKKnVu4FQI0VgsFT5HK5J2BC+VjK11D2s00
Blxpb1Cm8cJdj5r0YsNr32r7rG3xWpJxeDPvhdOLw30yO3RvuZO98rclqVXPRHqadDc8NnfB/Aby
ErnI7Tmo/hGgNnLu5Uq2EOWlttpZEv6dvD2bwvPQ5kCkOPDArTaLC7LCv7ylGH5vCwdqcPnyvP8A
IcaXJ7EvsE3hfiGRlpeE7ssNWVTVyANR58+ds+r0nKo4o0mjXUaayNPw8v247xQUiw205OD9DZEa
bQ4qql0zf31i+5sMDM7AKNa7/SydqZIXQBsX9Ja8caOYUoiw4a1DzEy4gw/y5t/nadTpxSyyqqTk
3hGwwNFnsaQXhx3gzQYEFoQUpQ1BQ5agkHUNp8rR5yUanyEmnu2NTBXwSwvHwAI8m6AQ4saM6vXt
fgkFARuAEAI/irztN5qTgh21UaFKo0uMMLK9I6DC3pbZ6emP0oPJ86VdUW6bx/s8HY6SMl4i3npz
z2Oe/XlDK4VuaXkISpsFUD5WHJycpbgip00o7QXdJLhXc3ESUKOA2Ukg95QwyllPJgaEG1PqG9xU
14CPSHT3ulLjdwJQOGsSbloavDMcy4aE8MMUqykw83hQgV56HnYVlWSe5+Q1dtuSin9P7PiHwovp
YoeHCgy0LIHhPCiuwdzl/C6snMGWpDMVUdmo3oG3OOGdoxnuztGu4bcNmxxKusdmMZQBTf8ANr9L
Vu77F0qm1cxK8nRGhSkRIhhrGKROthRWi5GA0pCaEoylBSuWm9Kk2ejUeMEaVFTeQ+XVg6UwxBIC
qpNWfKAASdTtpzsmQ04qLwgB4wnpG4HjgCsd6ZKU0BXIWrpQEjUc2AsVf49pyuK0ajfTBXX9YdrQ
nTiu1gCMe4mPK27Nx2LHg+c1KWGmvOSJ+zJPjZ6MqbWTspVGx+py/wAw9jyFs1jT3cJGlOfnOAe4
r4jXbBBV3WlCGGYE0OlMoqx91LPezdSDhjsY94qc4yT5A/c99QFmdA3VutQWGWpByFu1rtTe2eap
plS2eWuDUtK1WnexUIv5l2F+7JTDsmufJDESmhA199h7OUFqWDPwsxZJXY7GIwUMKKKiu50qTuLd
hBHWkWA47kZyIVgRBEAJDgahSADlJpSp8K27jDOcGafxhNTYykUB3OlLelLjBHcYp8CXdM+/rzw1
MQmgxGhO0OIrFKagMhAIYEb8999dTYj0m4qUIv03j+/kDdZtqVeS9SOf7+BdpHjnjRkIMXtDQtkh
9Z7s+Wor42K4avc7Nu79IEJaPauWdn7ZHTjjjSV0MViRzKoT475RZr4tcrhT/SF/CbX/AI/bHhvj
GWK8XLoYctAO+eIEcr4GINRTmF/msdU7eFBZYC1bidSW2IA+InHSQwFEMGXWXjRKfjREB6sN/wBB
EJzxGXm3sgnTnakutYUJYgi9tdGco+pNlGuHj/eE1MwzEyiESUYjVu1oGLHWgNDl8hYY1S+ldw24
C7R7GNjPepdjTSWJosAZicygVA+g/obZ/NbXhmmQqb1lclZmL6wriaMrRYE00w1AqwlZGodu8qMS
fDlvZ2PK4FwzN4CjcEW9IQEKFBMvXsq0aJmjAH/k6lMy1ANe0wB5m3pYQqVHHktEB53DEPJEcxSv
tRGAUsN9hoKVp6Whc7mMv5RIelhiaZvudVT7CwQyePaYkk+ZoDYjsFmLwC+pfUAmPKvBJPdanxtb
pFL4NfNRACf629wI5LViXH164q0YkQwahASUHx3Pn8rW13fVbj6HgrLKxp2vjcVhIzMPj+tKWrM+
H2WW1Zyj5goXofAV9bNsdTwGDhrxui3AFgxqtC0VGGrLsAp8V8N7VNzbZ5Lyzv8AZ8jGnuSYuPGC
g56KNMwNHX7gi1F80XhBRTrLAScJ/sXgmpDkud2iPnb4sdvLSyW2+zrqZK/jXH8pidwsMgwRuQdG
O/8AKOZ8bI64ExW58iQcfMSpft4xKeyipBGvNRVv/TMPSxPZR2wBDUp7qmF0UyFAEyCNzQ5d9+Vr
RdFUVpiH99mTxLjAKbLbx0cfHRiTc26hTXGTiMUW3mIZyYduyeeh9bMVeiXTXzRDjfczGutiUJUn
fKSK/C1FJLIWx8HLvjxZ0gsSxO9ST8jpZmSJUQmyU5GlVNDSimnoCRvaBU+pEnqLFHEZ5qKWOrFm
LE7kk1JsXUfoQA1+ZyLHJxXhkU/XK01dEQ1rScFydOZ+psyeP//Z
Chrome can decode base64 just fine. Just tell Chrome what type of data it is and the data is encoded with base64. The format would look like data:image/jpg;base64,<BASE64STRING>.
Try to put the string below in Chrome's address bar.
data:image/jpg;base64,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
An image can be uploaded via HTTP POST if the user agent support base64 encoding in the post body.