Надеюсь правильно понял...
В 3м случае выводите текущую картинку в слой (куда хотите чтобы она была), далее при клике по инпуту вываливается окно для выбора файла, после выбора с помощью js/jquery + HTML5 File API получаете превьюшку картинки, которую выбрали в инпуте, и заменяете ей текущую картинку =)