Как читать и записывать в файл с помощью JavaScript? - PullRequest
165 голосов
/ 25 февраля 2009

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

Ответы [ 16 ]

2 голосов
/ 25 февраля 2009

Вам придется обратиться к Flash, Java или Silverlight. В случае Silverlight вы увидите Изолированное хранилище . Это позволит вам записывать файлы на собственной игровой площадке на диске пользователей. Это не позволит вам писать за пределами вашей игровой площадки.

1 голос
/ 14 ноября 2018

Из теста ReactJS следующий код успешно записывает файл:

import writeJsonFile from 'write-json-file';

const ans = 42;
writeJsonFile('answer.txt', ans);

const json = {"answer": ans};
writeJsonFile('answer_json.txt', json);

Файл записывается в каталог, содержащий тесты, поэтому запись в фактический файл JSON '* .json' создает цикл!

1 голос
/ 25 февраля 2009

Вы не можете сделать это любым кросс-браузерным способом. В IE есть методы, позволяющие «доверенным» приложениям использовать объекты ActiveX для чтения / записи файлов, но это, к сожалению, так.

Если вы хотите сохранить информацию о пользователях, вам, скорее всего, понадобятся файлы cookie.

0 голосов
/ 15 ноября 2018

Существует два способа чтения и записи файла с использованием JavaScript

  1. Использование расширений JavaScript

  2. Использование веб-страницы и объектов Active X

0 голосов
/ 12 июня 2016

Вот решение для записи chrome v52 + (пользователю все еще нужно выбрать конечную точку ...)
источник: StreamSaver.js

<!-- load StreamSaver.js before streams polyfill to detect support -->
<script src="StreamSaver.js"></script>
<script src="https://wzrd.in/standalone/web-streams-polyfill@latest"></script>
const writeStream = streamSaver.createWriteStream('filename.txt')
const encoder = new TextEncoder
let data = 'a'.repeat(1024)
let uint8array = encoder.encode(data + "\n\n")

writeStream.write(uint8array) // must be uInt8array
writeStream.close()

Лучше всего подходит для записи больших данных, сгенерированных на стороне клиента.
В противном случае я предлагаю использовать FileSaver.js для сохранения BLOB-файлов / файлов

0 голосов
/ 25 февраля 2009

Вы не можете выполнять файловый ввод / вывод на стороне клиента, используя JavaScript, так как это может представлять угрозу безопасности. Вы должны либо заставить их загрузить и запустить exe-файл, либо, если файл находится на вашем сервере, использовать AJAX и серверный язык, такой как PHP, для ввода-вывода на стороне сервера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...