Перейти к содержимому

Как создать файл javascript

  • автор:

javascript создание файлов на стороне клиента без участия сервера

Как с помощью javascript можно реализовать создание файлов, есть вот такая html структура. Смысл в том что при выборе, создается текстовый документ, по указанному пути.

 

Путь создания файлов


Какие создать файлы

Отметить все
Heder
Footer
SidBar

Отслеживать
1,508 10 10 серебряных знаков 27 27 бронзовых знаков
задан 2 ноя 2015 в 15:06
Stasinskii Stasinskii
59 1 1 золотой знак 2 2 серебряных знака 12 12 бронзовых знаков
Возможный дубликат вопроса: Создать файл при помощь javascript
2 ноя 2015 в 15:15
@ДенисФедичкин, а там разве есть принятый ответ?
2 ноя 2015 в 15:44

да я смотрел его, но решил еще раз задать его потому что наткнулся вот на это it.kgsu.ru/JS/js0062.html

2 ноя 2015 в 15:47
@ДенисФедичкин, не дубликат — там хотят файл на сервере, а тут — на клиенте.
2 ноя 2015 в 15:49
@Qwertiy, там тоже хотели на клиенте
2 ноя 2015 в 15:52

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Из чистого JavaScript в браузере файл можно только скачать – через диалог Сохранения файла. Помимо упомянутых @Дмитрий-Никитин способов, есть ещё Blob поддерживаемый современными браузерами, который предпочтителен при объёмах данных больше нескольких мегабайт.

Если вам это нужно исключительно локально, и программировать хочется только на JavaScript – вариант поставить локально Node.js – он умеет создавать локальные файлы через Filesystem API, например (код отсюда):

var fs = require('fs'); fs.writeFile('D:\\textfile.txt', "Превед", function(err) < if(err) < return console.log(err); >console.log("Файл сохранён."); >); 

Отслеживать
ответ дан 2 ноя 2015 в 19:19
30.7k 4 4 золотых знака 48 48 серебряных знаков 86 86 бронзовых знаков
ооо спасибо, думаю будет хорошим решением, потому что уже стоит Node.js
4 ноя 2015 в 12:42

JavaScript выполняется в браузере, отправить файл на скачивание можно двумя способами:

  1. base64-encoded контентом, например: window.location.href = ‘data:application/octet-stream;base64. ‘ Которая будет обрабатываться браузером в соотвествии с настройками программ по умолчанию
  2. Аттрибутом download http://caniuse.com/#search=download

Отслеживать
16.6k 8 8 золотых знаков 26 26 серебряных знаков 56 56 бронзовых знаков
ответ дан 2 ноя 2015 в 15:29
Дмитрий Никитин Дмитрий Никитин
21 2 2 бронзовых знака

это тогда если у меня 10 файлов на создании то я их буду всех скачивать? мне нужно чтоб я это не видел, все тихо создалось.

Как создать Javascript (js) файл.

Многие начинающие веб-программисты, когда они начинают изучать Javascript, сталкиваются с проблемой:

Как создать файл с расширением js, в котором будет размещаться javascript код?

Помню, как я тоже на первых порах столкнулся с этой проблемой. Такой вопрос может возникать из-за непонимания того, что собой представляет Javascript код.

В первую очередь, нужно понимать, что javascript – это обычный текст, который написан по определенным правилам. Соответственно, храниться этот текст тоже должен в текстовом документе.

Единственное отличие этого текстового документа от простого текстового файла – это его расширение. Javascript файлы имеют расширение *.js.

Таким образом, вся задача состоит в том, чтобы создать текстовый документ и изменить его расширение.

Хочу рассказать о тех способах создания файла с расширением js, которыми я сам лично пользуюсь.

Все мои уроки по Javascript здесь.

Способ 1. Создание файла js из обычного текстового документа.

Открываем программу «Блокнот», которая входит в стандартный пакет операционной системы Windows.

Если у вас этой программы нет, то можете воспользоваться другим текстовым редактором.

Создаем новый документ и сохраняем его, выбрав в главном меню команду «Файл-сохранить как…»

15-05-2013 19-43-47

После того, как файл будет сохранен, нужно открыть папку, где вы его сохранили и переименовать файл, изменив его расширение на js.

Если расширение файлов у вас не отображается, то здесь можно почитать, как его можно включить.

После этой операции, файл для работы с Javascript готов.

Способ 2. Создание файла js в редакторе кода Dreamweaver.

Этим способом я пользуюсь намного чаще, по причине того, что это просто быстрее и удобнее. Создать файл js можно с помощью универсального редактора кода Dreamweaver.

Имейте в виду, что Dreamweaver – это далеко не единственная программа, которая на это способна. Очень многие редакторы кода тоже позволяют также создавать файлы с расширением js.

При первом запуске программы, появляется следующее окно, в котором можно выбрать, что мы хотим создать документ js.

15-05-2013 19-47-14

Выбираем его и сохраняем документ.

Если такое окно приветствия у вас не открылось, то можно воспользоваться главным меню «Файл – Создать новый документ» и выбираем «Javascript».

Если у вас возникнут какие-то вопросы или проблемы с созданием, файлов js таким способом, прошу написать об этом в комментариях.

Все мои уроки по Javascript здесь.

Создание файлов при помощи JavaScript и VBScript

На первый взгляд эта функция может показаться бесполезной, однако, как вы занесете данные в файл, не имея самого файла, не будем же мы портить фалы посетителя нашей страници.

Для того, чтобы создать пустой файл с помощью VBSctipt надо написать в HTML-файле следующий код:

  

Ту же самую функцию выполняет и следующий код, написанный уже на JavaScirpt:

  Вот теперь, создав чистый файл, можно приступить к его заполнению.

2. Запись данных в файл

Открытие файла. Для того, чтобы открыть файл надо применить следующий скрипт:

Dim fso, ts Const ForWriting = 2 Set fso = CreateObject("Scripting. FileSystemObject") Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)

Данный скипт написан на VBScript. Здесь по-моему все понятно. ForWriting — флаг, показывающий зачем открывать файл. Вот тот же скрипт на JavaScript:

var fso, ts; var ForWriting= 2; fso = new ActiveXObject("Scripting.FileSystemObject"); ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);

Надо отметить, что при этом файлы будут автоматически создаваться.

Непосредственная запись в файл. Для занесения строчек текста в файл используется следующие методы:

Задача Метод
Вставка новой строки, с последующей возможностью добавления в этуже строку данных, т.е. в конце строки нет символов переноса строки и возврата каретки. Write
Вставка новой строки с переносом на следующую. WriteLine
Вставка одной или несколких пустых строк. WriteBlankLines

Вот примеры скриптов. На VBScript:

Sub CreateFile() Dim fso, tf Set fso = CreateObject("Scripting.FileSystemObject") Set tf = fso.CreateTextFile("c:\testfile.txt", True) ' Вставка строки с переносом на новую. tf.WriteLine("Testing 1, 2, 3.") ' Вставка 3 путых строк. tf.WriteBlankLines(3) ' Вставка новой строки, без переноса. tf.Write ("This is a test.") ' Закрытие файла. tf.Close End Sub
function CreateFile() < var fso, tf; fso = new ActiveXObject("Scripting.FileSystemObject"); tf = fso.CreateTextFile("c:\\testfile.txt", true); // Вставка строки с переносом на новую. tf.WriteLine("Testing 1, 2, 3.") ; // Вставка 3 пустых строк. tf.WriteBlankLines(3) ; // Вставка новой строки, без переноса. tf.Write ("This is a test."); ' Закрытие файла. tf.Close(); >

Вот и все. Что с этим делом делать, вы наверное уже знаете. В мирных целях эта возможность создавать файлы на клиентских машинах очень полезна. Можно предложить посетителю скачать ваш фирменных значок и установить его в кчестве значка дика C, D, E, F, . Z. Можно создать autorun для диска X, в котором будет прописана строка, которая позволит загружать ваш фирменный сайт при запуске этого диска. Сохранение настроек без использования cookies и т. д. и т.п. На этой оптимистической ноте я заканчиваю.

Как создать файл javascript

На этом шаге мы рассмотрим функцию, создающую текстовый файл .

Чтобы создать текстовый файл на диске, следует выполнить следующие команды:

var fso = new ActiveXObject("Scripting.FileSystemObject"); fso.CreateTextFile(filepath);

Конструкция fso.CreateTextFile(filepath) создает указанный файл, открывает с доступом для записи и возвращает ссылку на него, если операция прошла успешно. В противном случае выводится диалоговое окно с сообщением об ошибке. Созданный файл остается недоступным для записи.

filepath — строка, содержащая полный путь к создаваемому файлу, например «С:\\ Мои документы \\testfile.txt» . Для выполнения с помощью WSH вместо первого выражения можно использовать и такое:

var fso = WScript.CreateObject("Scripting.FileSystemObject");

Второй способ создания текстового файла основан на применении метода OpenTextFile с параметром режима открытия ForWriting . Этот параметр имеет значение 2. Это делается следующим образом:

var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile(filepath, 2);

Новый текстовый файл, созданный описанными выше методами, ничего не содержит. Создаваемый и открываемый для чтения или записи текстовый файл совсем не обязательно должен иметь расширение txt . Расширение может быть любым. Главное, чтобы он был текстовым по своему типу.

При создании файла на диске прежде всего необходимо убедиться в возможности это сделать, чтобы избежать появления сообщений об ошибках. Так, если хотя бы одна из папок в пути к файлу не существует, то попытка применить метод CreateTextFile() приведет к ошибке. Ошибка возникнет и в случае неготовности диска, отсутствия указанного дисковода, а также в случае, если это устройство для чтения компакт-дисков. Ниже приведен код функции createFile(filepath) , которая выполняет все необходимые проверки. Кроме того, создаются папки, указанные в filepath , но не существующие.

Код функции createFile(filepath) :

// Создание текстового файла. Возвращает ссылку на // созданный файл или 0, если файл не создан function createFile(filepath) < var fso = new ActiveXObject("Scripting.FileSystemObject"); var i = filepath.lastIndexOf("\\"); // Выделяем имя файла из filepath if (i>=0) file = filepath.substr(i+1); // Выделяем путь к файлу без имени файла var folder = filepath.slice(0, i); // Проверки и создание недостающих папок if (!createFolder(folder)) return 0; // Если файл существует, то. if (fso.FileExists(file)) // . открываем его для записи return fso.OpenTextFile(filepath, 2); // Создаем файл и возвращаем ссылку на него return fso.CreateTextFile(folder + "\\" + file); >

Функция createFolder() создает папки. Она производит все проверки и при необходимости создает недостающие папки. Если указанный в параметре filepath файл уже существует на диске, то он открывается для записи.

  1. GetBaseName(filepath); — возвращает последний элемент в filepath без расширения;
  2. GetExtensionName(filepath); — возвращает расширение последнего элемента в filepath .

var fso = new ActiveXObject("Scripting.FileSystemObject"); fso.GetBaseName("C:\\Мои документы\\testfile.txt"); // testfile fso.GetExtensionName("С:\\Мои документы\\testfile.txt"); // txt 

He менее полезным является метод BuildPath(path, name) , который к пути path дописывает элемент name :

var fso = new ActiveXObject("Scripting.FileSystemObject"); fso.BuildPath("C:\\Мои документы", "testfile.txt");

Если файл был создан, то он остается открытым. Чтобы закрыть файл, используется метод Close() .

// Создание и закрытие файла: var fso = new ActiveXObject("Scripting.FileSystemObject"); var myfile = fso.CreateTextFile("С:\\Мои документы\\testfile.txt"); var myfile.Close(); // Открытие и закрытие файла: var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile("С:\\Мои документы\\testfile.txt", 2); var myfile.Close(); // Создание/открытие и закрытие файла: var myfile = createFile("C:\\Мои документы\\testfile.txt"); var myfile.Close();

В заключение приведем пример, иллюстрирующий использование рассмотренных конструкций.

Создание файла

Создание файла

Текст этого документа можно взять здесь.

Результат его выполнения в браузере изображен на рисунке 1.

Рис.1. Результат выполнения функции создания файла

На следующем шаге мы рассмотрим другие операции, выполняемые над файлами .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *