Abrir seletor de arquivos direto do JavaScript

24d atrás

0 0

O código abaixo serve para selecionar programaticamente arquivos, usando #JavaScript. Sem a necessidade de ter um input tipo file no seu HTML.

Você pode usar essa função no clique de um botão, ou em algum outro evento do usuário.

function getFile(accept, formats) {
	return new Promise((resolve, reject) => {
		const input = document.createElement('input');
		
		input.accept = accept ?? '';
		input.type = 'file';

		input.onchange = e => {
			const file = e.target.files[0];
			
			if (!formats || formats.indexOf(file.type) !== -1) resolve(file);
			else reject('Tipo de arquivo não permitido');
		}
		
		input.click();
	});
}

Exemplos de uso

getFile(); // Seleciona qualquer tipo de arquivo

getFile('image/*'); // Seleciona apenas imagens

getFile('video/*', ['video/mp4']); // Seleciona apenas vídeos, no formato video/mp4


Comentários (0)

0/512
Link