1

Тема: Як зберегти файл із Javascript

Мені треба зберегти файл на диск користувача з HTML сторінки. Як це зробити?

2

Re: Як зберегти файл із Javascript

Не знаю чи підійде такий варіант, але що коли додати розширення (ну .doc наприклад) і просто розмістити це в тезі a

<a href='file.js.doc'>скачати файл з js</a>

3

Re: Як зберегти файл із Javascript

ну та, тут js непотрібно взагалі, ще є така штука http://www.w3schools.com/tags/att_a_download.asp, працює не у всіх браузерах але у багатьох. Ідея в тому що браузер по замовчуванню може відкривати якісь типи файлів а не завантажувати бо він з ними вміє працювати.

Подякували: Сергій78, 221VOLT2

4 Востаннє редагувалося Yola (28.01.2017 12:31:29)

Re: Як зберегти файл із Javascript

Вибачте, мав на увазі створити файл прям на сторінці і запропонувати користувачу його завантажити.

Така функція це робить:

    <script>
        function download(filename, text) {
            var element = document.createElement('a');
            element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
            element.setAttribute('download', filename);

            element.style.display = 'none';
            document.body.appendChild(element);

            element.click();

            document.body.removeChild(element);
        }
        download("rara.tex", "тут текст вашого документа");
    </script>
Подякували: 221VOLT1

5

Re: Як зберегти файл із Javascript

Дякую за комент... Не знав до цього про існування такого атрибуту для тегу a. Судячи з усього якщо підтримка в здихаючому ослику не важлива (я про IE), то дійсно можна просто записати

<a href='file.js'  download>скачати файл з js</a>

але знову ж таки, при умові, що код написано html5.
Кому цікаво, то кину посилання на російськомовний ресурс з описом цього атрибуту
http://htmlbook.ru/html/a/download

6

Re: Як зберегти файл із Javascript

Yola написав:

Вибачте, мав на увазі створити файл прям на сторінці і запропонувати користувачу його завантажити.

Така функція це робить:

    <script>
        function download(filename, text) {
            var element = document.createElement('a');
            element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
            element.setAttribute('download', filename);

            element.style.display = 'none';
            document.body.appendChild(element);

            element.click();

            document.body.removeChild(element);
        }
        download("rara.tex", "тут текст вашого документа");
    </script>

Ясненько, я просто вас трохи не так зрозумів :)

Подякували: Yola1