Así que quiero tener un div que actúe como botón/entrada con tipo de archivo que me permita cargar archivos, pero no sé cómo hacerlo.
Vi algunas respuestas, pero usaban Jquery, pero quiero JS simple.
Aquí hay una solución lista para usar que encontré al escribir su pregunta en la barra de búsqueda del desbordamiento de pila.
function promptFile(contentType, multiple) { var input = document.createElement("input"); input.type = "file"; input.multiple = multiple; input.accept = contentType; return new Promise(function(resolve) { document.activeElement.onfocus = function() { document.activeElement.onfocus = null; setTimeout(resolve, 500); }; input.onchange = function() { var files = Array.from(input.files); if (multiple) return resolve(files); resolve(files[0]); }; input.click(); }); } function promptFilename() { promptFile().then(function(file) { document.querySelector("span").innerText = file && file.name || "no file selected"; }); } <button onclick="promptFilename()">Open</button> <span></span>Enlace de referencia: ¿Cómo abrir el cuadro de diálogo Seleccionar archivo a través de js?