Задать вопрос
@HAbRAhabp

Как с помощью JS создать текстовый файл и отдать его клиенту?

Сабж.
Возможно ли такое? Допустим нужно создать файл 9dksk239xwd.txt с содержанием jxowsjsivneic
Как его динамически создать и отдать клиенту через диалоговое окно загрузки?
Видел похожее на одном сайте, но не помню каком
Возможно ли это сделать средствами одного JS?
  • Вопрос задан
  • 13432 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
norlin
@norlin
Вот такой вариант, кажется, самый простой. И не требует File API и т.д.
Только надо проверить на кроссбраузерность (мне лень, если честно).
<html><body>
<a download="9dksk239xwd.txt" id="test" href="#">test</a>
<script type="application/javascript">
	var type = 'data:application/octet-stream;base64, ';
	var text = 'jxowsjsivneic';
	var base = btoa(text);
	var res = type + base;
	document.getElementById('test').href = res;
</script>
</body></html>
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Durd0m
function writeFile(name, value) {
var val = value;
if (value === undefined) {
val = "";
}
var download = document.createElement("a");
download.href = "data:text/plain;content-disposition=attachment;filename=file," + val;
download.download = name;
download.style.display = "none";
download.id = "download"; document.body.appendChild(download);
document.getElementById("download").click();
document.body.removeChild(download);
}

writeFile("9dksk239xwd.txt", "jxowsjsivneic");
Ответ написан
Millerish
@Millerish
Можно генерировать файл PHP, а отдавать через обычную ссылку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы