максимум, что можно, это сделать input type="file" и при его изменении (причем только интерактивном) читать файл, как-то так:
const texts = []
function readFile2Text(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader()
reader.addEventListener('load', function () {
resolve(reader.result)
}, false)
if (file) {
reader.readAsText(file)
} else {
resolve('')
}
})
async function onFileChange (event) {
for (const file of event.target.files) {
texts.push({ name: file.name, data: await readFile2Text(file) })
}
event.target.value = null
}
Остальное запрещает безопасность браузера.