Wow, si quieres una solución menos traumática podrías pecar de confiado para con el usuario, es decir, usar simple javascript, Html y CSS:
Referencias:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file
Código (javascript) [Seleccionar]
<style>
#imagen { display: block; width: 100%; }
</style>
<input type="file" accept="image/png,image/jpeg" onchange="cargaImagen()">
<img id="imagen">
<script>
function cargaImagen() {
var Imagen = event.target.files[0]
console.log(Imagen)
if (Imagen.type === "image/png" || Imagen.type === "image/jpeg") {
document.getElementById("imagen").src = URL.createObjectURL(event.target.files[0])
} else {
alert("De momento solo aceptamos imágenes PNG y JPG")
}
}
</script>
Referencias:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file