Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для Kaktuz
7 / 7 / 4
Регистрация: 28.05.2012
Сообщений: 169

File Reader Writer

02.09.2014, 17:39. Показов 2158. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Видел некую реализацию работы с файлами. Суть такова. Пользователь выбирает и загружает свой файл на сервер через JS-API. После чего он может быть обработан (изменен) и скачан пользователю. За основу примера взял создание обычного текстового редактора.
Помогите понять суть работы при записи данных в файл.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<html>
<head>
<title>API - FileReaderWriter</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" language="JavaScript">
window.onload = function() {
    document.forma.open.addEventListener("change", MyFileReader, false);
}
 
function MyFileReader(event) {
    var f = event.target.files[0];
    var r = new FileReader();
    r.onload = function(e) {
        buffer = e.target.result;
        console.log("Размер файла: "+f.size);
        console.log("Содержимое файла: "+buffer);
    }
    r.readAsText(f); // Текстовый
    // r.readAsBinaryString(f); // Бинарный
    // r.readAsDataURL(f); // URL данные
    // r.readAsArrayBuffer(f); Буфер
}
function MyFileWriter(event) {
 
}
</script>
</head>
<body>
    <form name="forma">
        <input name="open" type="file"/>
    </form>
</body>
</html>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.09.2014, 17:39
Ответы с готовыми решениями:

fatal error C1083: Cannot open include file: 'Date.h': No such file or directory
Всем добрый вечер! У меня проблема. Мне нужно, чтобы мой класс содержал обьект другого класса как элемент данных, я его добавила в проект,...

The file is possibly corrupt. The file header checksum does not match the computed checsum.
Привет ребята, всех с наступающим днём алкогольного отстрела! Правильно! уничтожим это напиток раз и навсегда! все выпьем! Ладно, а...

Ошибка fatal error C1083: Cannot open include file: ***: No such file or directory
Помогите пожалуйста исправить ошибку. При компиляции возникает вот такая беда. подробности в скриншотах. даже если переносишь все файлы в...

8
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
02.09.2014, 18:07
Цитата Сообщение от Kaktuz Посмотреть сообщение
Помогите понять суть работы при записи данных в файл.
Кхе-кхе. JS с файловой системой не работает. Так что максимум можно
JavaScript
1
open('data:text/plain,' + encodeURIComponent(  нужный текст  ));
0
Дзен-программист
 Аватар для xenohunter
122 / 87 / 16
Регистрация: 10.04.2013
Сообщений: 253
02.09.2014, 22:02
FraidZZ, думаю, тут речь о чём-то вроде Google Docs.
Kaktuz, копайте в сторону серверной части. Скорее всего, файл загружается на сервер, конвертируется там в текст со специальной разметкой, для того, чтобы JS мог с ним работать, и отдаётся клиенту. На клиенте происходит редактирование именного этого размеченного текста, который закачивается на сервер и, когда пользователь хочет скачать файл, сервер конвертирует этот текст обратно в файл, и уже его отдаёт пользователю.
0
 Аватар для Kaktuz
7 / 7 / 4
Регистрация: 28.05.2012
Сообщений: 169
03.09.2014, 00:35  [ТС]
В целом можно и так. Жаль имя задать нельзя, только через ссылку.
window.open("data:application/octet-stream;base64,SGVsbG8=");
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
03.09.2014, 14:13
Kaktuz, вообще можно почитать про FILE-API браузеров. Но я так понял, эт немного не то, что нужно. В твоем случае, тут должна быть связка, между PHP+HTML5. Алгоритм тебе уже расписали: заливаешь файл на сервер, он открывается в редакторе у тебя в браузере, ты изменяешь его, и сохраненный файл летит снова на сервер,и так далее
0
 Аватар для Kaktuz
7 / 7 / 4
Регистрация: 28.05.2012
Сообщений: 169
06.09.2014, 13:33  [ТС]
Суть дела такова. Хочу хранить некие данные пользователя в файле. Как вариант, сохранения от некой игры или еще чего либо. Не прибегая к хранилищам и кукам которые могут быть недоступны или удалены. Сохранив нужную информацию в виде файла, пользователь в дальнейшем сможет зайти и загрузить свой "file.sav", тем самым продолжить свою работу даже за другим компьютером или смартфоне.
Относительно PHP это мне все известно, хочу добить автономности.
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
06.09.2014, 14:47
Цитата Сообщение от Kaktuz Посмотреть сообщение
Сохранив нужную информацию в виде файла, пользователь в дальнейшем сможет зайти и загрузить свой "file.sav"
Открытие через input type=file и FileReader API.
Подобный пример был здесь: Получить файл из input

Сохранение через
JavaScript
1
open(/* DataURL здеся */);
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
11.09.2014, 10:42
Цитата Сообщение от FraidZZ Посмотреть сообщение
JS с файловой системой не работает.
Это уже не так.

Добавлено через 17 минут
Хотя.. Возможно я что-то путаю...
Мне казалось, что запись в файл, выбранный в input'е возможна, но что-то не могу найти этому подтверждений.
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
11.09.2014, 14:53
Kaktuz, http://habrahabr.ru/post/112286/ вот статья на хабре
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.09.2014, 14:53
Помогаю со студенческими работами здесь

fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
Почему Visul C++ 2005 Express Editional ругается на # include &lt;windows.h&gt;, пишет:&gt;g:\documents and settings\max\мои документы\visual studio...

Warning: require(/path/to/file..): failed to open stream: No such file or directory
Установил шаблон на joomla 3 и увидел сию ошибку -&gt; Warning:...

Методы File.Encrypt() и File.Decrypt() - для чего они
Доброго времени суток уважаемые форумчане !!! Кто нибудь может более подробно пояснить для чего нужны методы File.Encrypt() и...

fatal error C1083: Cannot open include file: 'cl.h': No such file or directory
#include &lt;CL/cl.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;windows.h&gt; Подскажите, пожалуйста, как подключить библиотеку...

Fail to copy file to HDD.File:E\images\WOP000280OXXTC0111.SWM
Добрый день,новичек просит помощи в решении ошибки(тема),возникающей при установке W7 домашняя расширенная (лицензионная,пред установлен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru