Тема: Як зберегти файл із Javascript
Мені треба зберегти файл на диск користувача з HTML сторінки. Як це зробити?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → JavaScript, TypeScript, ECMAScript → Як зберегти файл із Javascript
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Мені треба зберегти файл на диск користувача з HTML сторінки. Як це зробити?
Не знаю чи підійде такий варіант, але що коли додати розширення (ну .doc наприклад) і просто розмістити це в тезі a
<a href='file.js.doc'>скачати файл з js</a>
ну та, тут js непотрібно взагалі, ще є така штука http://www.w3schools.com/tags/att_a_download.asp, працює не у всіх браузерах але у багатьох. Ідея в тому що браузер по замовчуванню може відкривати якісь типи файлів а не завантажувати бо він з ними вміє працювати.
Вибачте, мав на увазі створити файл прям на сторінці і запропонувати користувачу його завантажити.
Така функція це робить:
<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>
Дякую за комент... Не знав до цього про існування такого атрибуту для тегу a. Судячи з усього якщо підтримка в здихаючому ослику не важлива (я про IE), то дійсно можна просто записати
<a href='file.js' download>скачати файл з js</a>
але знову ж таки, при умові, що код написано html5.
Кому цікаво, то кину посилання на російськомовний ресурс з описом цього атрибуту
http://htmlbook.ru/html/a/download
Вибачте, мав на увазі створити файл прям на сторінці і запропонувати користувачу його завантажити.
Така функція це робить:
<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>
Ясненько, я просто вас трохи не так зрозумів
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися