Для работы с файлами в Node.js предназначен модуль fs. Рассмотрим, как с ним работать.
Содержание
- Чтение из файла
- Запись файла
- 1. Создание пустого файла
- 2. Запись данных в файл
- 2 ответа 2
Чтение из файла
Допустим, в одной папке с файлом приложения app.js расположен текстовый файл hello.txt с простейшим текстом, например:
Для чтения файла в синхронном варианте применяется функция fs.readFileSync() :
В метод передается путь к файлу относительно файла приложения app.js, а в качестве второго параметра указывается кодировка для получения текстового содержимого файла. На выходе получаем считанный текст.
Для асинхронного чтения файла применяется функция fs.readFile :
Первый и второй параметр функции опять же соответственно путь к файлу и кодировка. А в качестве третьего параметра передается функция обратного вызова, которая выполняется после завершения чтения. Первый параметр этой функции хранит информацию об ошибке при наличии, а второй — собственно считанные данные.
Для чтения файла определим в файле app.js следующий код:
И здесь стоит обратить внимание, что несмотря на то, что функция fs.readFile() вызывается первой, но так как она асинхронная, она не блокирует поток выполнения, поэтому ее результат выводится в самом конце.
Запись файла
Для записи файла в синхронном варианте используется функция fs.writeFileSync() , которая в качестве параметра принимает путь к файлу и записываемые данные:
Также для записи файла можно использовать асинхронную функцию fs.writeFile() , которая принимает те же параметры:
В качестве вспомогательного параметра в функцию может передаваться функция обратного вызова, которая выполняется после завершения записи:
1. Создание пустого файла
На первый взгляд эта функция может показаться бесполезной, однако, как вы занесете данные в файл, не имея самого файла, не будем же мы портить фалы посетителя нашей страници.
Для того, чтобы создать пустой файл с помощью VBSctipt надо написать в HTML-файле следующий код:
Ту же самую функцию выполняет и следующий код, написанный уже на JavaScirpt:
2. Запись данных в файл
Открытие файла. Для того, чтобы открыть файл надо применить следующий скрипт:
Данный скипт написан на VBScript. Здесь по-моему все понятно. ForWriting — флаг, показывающий зачем открывать файл. Вот тот же скрипт на JavaScript:
Надо отметить, что при этом файлы будут автоматически создаваться.
Непосредственная запись в файл. Для занесения строчек текста в файл используется следующие методы:
Вот примеры скриптов. На VBScript:
Вот и все. Что с этим делом делать, вы наверное уже знаете. В мирных целях эта возможность создавать файлы на клиентских машинах очень полезна. Можно предложить посетителю скачать ваш фирменных значок и установить его в кчестве значка дика C, D, E, F, . Z. Можно создать autorun для диска X, в котором будет прописана строка, которая позволит загружать ваш фирменный сайт при запуске этого диска. Сохранение настроек без использования cookies и т. д. и т.п. На этой оптимистической ноте я заканчиваю.
Нужно переменную text записать в text.txt
2 ответа 2
Если файл нужно записать на компьютере, есть вариант записать в папку для загрузок, указанную в настройках браузера:
Просто кликните ссылку.
Сохранить файл на клиенской стороне — никак. На сервере можно например через node:
По поводу тега download : Он не позволяет сохранять файл. Но может сформировать его и дать пользоателю на закачку при нажатии на кнопку/ссылку. Вот пример:
Источник: