JavaScript:
Создание текстового файла
Как:
JavaScript в браузере не имеет прямого доступа к файловой системе по соображениям безопасности. Но вы можете создать текстовый файл и предложить пользователю сохранить его:
function downloadTextFile(text, filename) {
const blob = new Blob([text], { type: 'text/plain' });
const a = document.createElement('a');
a.download = filename;
a.href = window.URL.createObjectURL(blob);
a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':');
a.style.display = "none";
document.body.appendChild(a); // Добавляем якорь к телу документа.
a.click();
document.body.removeChild(a); // Уборка якоря после использования.
window.URL.revokeObjectURL(a.href); // Освобождаем URL blob.
}
// Пример использования:
downloadTextFile('Привет, мир!', 'example.txt');
Node.js предоставляет более простой способ записи файлов через модуль fs
:
const fs = require('fs');
fs.writeFile('example.txt', 'Привет, мир!', (err) => {
if (err) throw err;
console.log('Файл был сохранен!');
});
Погружение
Исторически JavaScript был ограничен браузером без доступа к файловой системе. Node.js изменил это, предоставив возможности на стороне сервера.
Альтернативы fs.writeFile
включают fs.writeFileSync
для синхронных операций и fs.promises.writeFile
для асинхронного контроля на основе промисов.
Методы fs
в Node обрабатывают буферы и потоки — инструменты для работы с большими файлами и сетевым общением.
См. также
- Документация по файловой системе Node.js: https://nodejs.org/api/fs.html
- MDN - Blob: https://developer.mozilla.org/en-US/docs/Web/API/Blob
- Руководство по JavaScript на MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide