Image Upload Demo
Using file input and FileReader to upload and display images.
by orion_prime
HTML
<img class="profile-pic" id = 'pic' src="http://cdn.cutestpaw.com/wp-content/uploads/2012/07/l-Wittle-puppy-yawning.jpg" />
<div id='button' class="upload-button">Upload Image</div>
<script src="https://cdn.jsdelivr.net/npm/exifr/dist/lite.umd.js"></script>
<input class="file-upload" type="file" id='fup' accept="image/*"/>
CSS
.upload-button {
padding: 4px;
border: 1px solid black;
border-radius: 5px;
display: block;
float: left;
}
.profile-pic {
max-width: 200px;
max-height: 200px;
display: block;
}
.file-upload {
display: none;
}
JavaScript
const fileUpload = document.getElementById('fup')
const pic = document.getElementById('pic')
const button = document.getElementById('button')
console.log(fileUpload.id, pic.id)
const readURL = (input) =>{
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = (e)=> {
pic.src = e.target.result;
}
reader.readAsDataURL(input.files[0]);
}
}
fileUpload.addEventListener('change', ()=> {
readURL(this);
});
button.addEventListener('click', ()=> {
fileUpload.click();
});