# Upload de arquivos com js puro
Bibliotecas pra fazer upload de arquivos com JavaScript a gente ve de monte por aí, mas... e se você precisar fazer na mão? Sabe como fazer?
Bom, agora você sabe!
O JavaScript tem um carinha chamado #FormData de forma nativa, com ele, conseguimos construir objetos de chave e valor e estes valores podem ser tanto strings normais (valores de inputs), como também podem ser objetos de arquivos! Depois de montar é só mandar a request pra uma API e já era!
<input type="file" onchange="selectFile(this.files)" />
<script>
// Desctructuring em "file" para pegar o primeiro item do array
function selectFile([file]) {
const data = new FormData()
data.append('file', file)
api.post('/files/upload', data)
}
</script>