A próbowałeś ustawić atrybut value input-a (type=file) na "pusty"?
Przykład
<input type="file" />
<img src="" />
input, img {
display: block;
margin: 1em 0;
}
img {
width: 100px;
height: 100px;
cursor: pointer;
}
const file_img = document.querySelector('input'),
view_img = document.querySelector('img');
file_img.addEventListener('change', imageLoad);
view_img.addEventListener('click', clearView);
function imageLoad() {
if (file_img.files && file_img.files[0]) {
const reader = new FileReader();
reader.onload = imageIsLoaded;
reader.readAsDataURL(file_img.files[0]);
}
}
function imageIsLoaded({target}) {
view_img.src = target.result;
}
function clearView() {
view_img.src = '';
file_img.value = '';
}