Можете посмотреть пример, он довольно простой https://jsfiddle.net/kj67cmuw/2/
Если не нужно выравнивание, можно выбросить большую часть css и враппер.
Тебе нужен <input type="file">
в первую очередь, а потому уже либо с помощью canvas или svg отрисовывать свою картинку в нужном месте.
Еще можно в base64 картинку переводить и тоже отображать.
Ну или готовое решение: https://www.html5rocks.com/en/tutorials/file/dndfi...