Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   сохранить текст в файл (https://javascript.ru/forum/misc/59418-sokhranit-tekst-v-fajjl.html)

annie88 10.11.2015 13:32

сохранить текст в файл
 
Здравствуйте!
У меня такая задача: на странице есть некое текстовое поле и кнопка "сохранить". Необходимо сделать так, чтобы при нажатии на кнопку, содержимое текстового поля сохранялось в виде текстового файла на машине клиента, скажем в каталоге "Загрузки" .
Не могли бы Вы подсказать, какими средствами этого можно добиться?

laimas 10.11.2015 13:52

Цитата:

Сообщение от annie88
в виде текстового файла на машине клиента, скажем в каталоге "Загрузки"

Непосредственно нельзя.

annie88 10.11.2015 14:02

Цитата:

Сообщение от laimas (Сообщение 395500)
Непосредственно нельзя.

а как можно?

laimas 10.11.2015 14:14

https://github.com/eligrey/FileSaver.js

Rise 10.11.2015 14:23

annie88,
<form method="post" action="gettxt.php" target="gettxt">
	<textarea name="text"></textarea>
	<input type="submit" value="Скачать TXT">
	<iframe name="gettxt" src="" style="display:none"></iframe>
</form>
gettxt.php
<?php
header('Content-type: text/plain; charset=utf8');
header('Content-disposition: attachment; filename='.date('YmdHis').'.txt');
echo $_POST['text'];
?>

annie88 10.11.2015 14:36

Rise, большое спасибо)))
А можно это как-нибудь сделать без вывода диалоговых окон?

Rise 10.11.2015 14:41

annie88, нет

annie88 10.11.2015 14:50

жалко, хотя и логично((((
Еще такой вопрос, можно ли вывести на печать файл, находящийся на стороне клиента не выводя при этом диалоговых окон, при условии что я имею доступ к браузеру клиента и могу его настраивать?

annie88 11.11.2015 13:14

Не могли бы Вы подсказать, можно ли добиться того же эффекта, что и данной конструкции
Цитата:

Сообщение от Rise (Сообщение 395508)
annie88,
<form method="post" action="gettxt.php" target="gettxt">
	<textarea name="text"></textarea>
	<input type="submit" value="Скачать TXT">
	<iframe name="gettxt" src="" style="display:none"></iframe>
</form>
gettxt.php
<?php
header('Content-type: text/plain; charset=utf8');
header('Content-disposition: attachment; filename='.date('YmdHis').'.txt');
echo $_POST['text'];
?>

но, не используя textarea и submit? вместо этого текст берется из какого-нибудь div, а роль кнопки играет тоже какой-то div?

Rise 11.11.2015 13:41

Цитата:

Сообщение от annie88 (Сообщение 395672)
Не могли бы Вы подсказать, можно ли добиться того же эффекта

можно

annie88 11.11.2015 13:44

Цитата:

Сообщение от Rise (Сообщение 395678)
можно

не могли бы Вы подсказать как это сделать?

Rise 11.11.2015 13:57

annie88, какой-нибудь пример...

annie88 11.11.2015 14:13

допустим,
<div id ="for_text" >Какое-то сообщение</div>
<div class = "button">
    <a href= "#">Кнопка</a>
 </div>

сейчас я реализую это как было написано выше, просто создаю промежуточный невидимый textarea и сначала переписываю данные в него, а затем уже использую функцию php
<?php
header('Content-type: text/plain; charset=utf8');
header('Content-disposition: attachment; filename='.date('YmdHis').'.txt');
echo $_POST['text'];
?>
Однако же теперь необходимо заменить кнопку <input type = "submit"> на блок с ссылкой и я, если честно, растерялась.

Rise 11.11.2015 14:37

annie88, зачем менять...

annie88 11.11.2015 14:54

эта функция должна стать частью другой системы, а там кнопки реализуются только таким способом :-?

annie88 12.11.2015 12:35

Не могли бы Вы ответить на такой вопрос: допустим приходит файл от сервера, как его можно сохранить на клиенте, если не использовать форму?

EmperioAf 12.11.2015 17:17

Цитата:

Сообщение от annie88
как его можно сохранить на клиенте, если не использовать форму

localStorage использовать

annie88 18.11.2015 12:44

Цитата:

Сообщение от EmperioAf (Сообщение 395873)
localStorage использовать

Спасибо)))
сохранение в браузере попробовала (в Chrome), но решила все-таки использовать форму:) это показалось мне более понятным)


Часовой пояс GMT +3, время: 05:42.