Выбрать определенный файл с компьютера для загрузки на сайт

На сайте есть поле для загрузки файла:

<input name="file_load" type="file" size="35">

Я хочу сделать скрипт который откроет окно выбора файла на компьютере и выберет нужный файл (по его названию).

Каким образом этом можно реализовать?


Ответы (1 шт):

Автор решения: Трипольский Пётр

Выбор и чтение текстового файла можно реализовать следующим способом

const uploadFile = () => new Promise((res, rej) => {
    const input = document.createElement('input');
    const reader = new FileReader();
    input.type = 'file';
    input.onchange = () => {
        const [file] = input.files;
        reader.onload = () => {
            const { result } = reader;
            if (result) {
                const data = result.toString();
                res(data);
            } else {
                rej();
            }
        }
        reader.readAsText(file);
    };
    input.click();
});

Думаю, вам сразу пригодится сохранение файла из браузера

const downloadFile = (data, name) => {
    const blob = new Blob([data], { type: 'text/plain;charset=utf-8' });
    const url = window.URL.createObjectURL(blob);
    const a = document.createElement('a');
    [a.href, a.download] = [url, name];
    a.click();
    window.URL.revokeObjectURL(url);
};
→ Ссылка