Как эмулировать загрузку изображений input[type=file], через button?
Нельзя эмулировать. Потому что у браузеров есть политика безопасности, которая позволяет забирать с компьютера только те файлы, которые юзер выбрал.
Можно СКРЫТЬ input[type=file], сделать его прозрачным, например, а под ним разместить кнопку.
Вот пример: https://jsfiddle.net/2wwgz9h9/
Сейчас стоит opacity: 0.7; а если поставить 0 он будет полностью прозрачным.
В документацииUPDATE<input type="file" id="file_uploading" style="display: none;"/>
<button onclick="onClickButton()">
Ваша кнопка
</button>

<script>
function onClickButton(){
 document.getElementById('file_uploading').click();
}
</script>UPDATE 2
Полная версия:<img src="" height="200" alt="Image preview...">
<input type="file" id="file_uploading" style="display: none;" onchange="previewFile()"/>
<button onclick="onClickButton()">
Ваша кнопка
</button>

<script>
function onClickButton(){
 document.getElementById('file_uploading').click();
}

function previewFile() {
  var preview = document.querySelector('img');
  var file    = document.querySelector('input[type=file]').files[0];
  var reader  = new FileReader();

  reader.onloadend = function () {
    preview.src = reader.result;
  }

  if (file) {
    reader.readAsDataURL(file);
  } else {
    preview.src = "";
  }
}
</script>