JSFiddle - React, Tailwind, and code Playground
HTML
Picture: <input type="file">
<hr>
<div>
Loaded:
<img>
</div>
<hr>
Log...
<span></span>
CSS
div{
display:none;
}
img{
display:block;
height:100px;
width:100px;
}
JavaScript
'use strict';
var img = document.querySelector('img');
var span = document.querySelector('span');
document.querySelector('input').addEventListener('change', function(event){
log('File changed', true);
var file = event.target.files[0];
if(file === undefined){
img.parentElement.style.display = 'none';
log('No file selected');
return;
}
showImage(file);
});
function log(data, clear){
if(clear){
span.innerHTML = '';
}
span.innerHTML += '<br>' + data;
}
function showImage(file) {
log('showImage()');
if(!window.FileReader){
return log('FileReader is not supported');
}
if(!window.FileReader.prototype.readAsDataURL){
return log('readAsDataURL is not supported');
}
var reader = new FileReader();
reader.onload = function(event){
img.src = event.target.result;
img.parentElement.style.display = 'block';
};
reader.readAsDataURL(file);
}