Используете API собственной файловой системы для сохранения файла в определенном месте без вмешательства пользователя?

У меня есть собственная система, которая должна создавать текстовые файлы, чтобы печатать кассовые чеки при появлении нового заказа. Мне нужно, чтобы эти файлы были сохранены локально на компьютере в определенном месте, но есть ли способ сохранить файл в этом месте, не предлагая пользователю выбрать местоположение файла? Возможно ли, если вы создадите свой собственный класс FileSystemFileHandle, а затем передадите его как дескриптор?

$('.save').click(function() {
    saveToFile('from website');
});

async function saveToFile(content) {
    const opts = {
        type: 'save-file',
        accepts: [
            {
                description: 'Text File',
                extension: ['txt'],
                mimeType: ['text/plain'],
            }
        ]
    }

    const handle = await window.chooseFileSystemEntries(opts); // don't to that
    // create custom FileSystemFileHandle and point to the file location?
    const handle = FileSystemFileHandle;
    const writable = await handle.createWritable();
    await writable.write(content);
    await writable.close();
}

1 ответ

Это невозможно сделать с помощью API доступа к файловой системе, но, по иронии судьбы, автоматически запускаемые загрузки по-прежнему существуют в <a download>подход.

      const a = document.createElement('a');
// undefined
a.download = 'example.txt';
// "example.txt"
a.href = URL.createObjectURL(new Blob(['yolo'], {type : 'text/plain'}));
// "blob:https://example.com/8d494f54-499d-4f32-bdb4-ff047e8c60af"
a.click();
// undefined

// Downloads a file `example.txt` to your Downloads folder
Другие вопросы по тегам