14.10.2018, 23:20
|
Новичок на форуме
|
|
Регистрация: 14.10.2018
Сообщений: 5
|
|
Считывание и запись данных в файл
Здравствуйте, есть задача сделать небольшую программу, решил сделать её на JS т.к. больше ничего не знаю. но проблема, нужно использовать текстовый файл как базу данных.
Как считать его я уже разобрался, но как записать? нужно чтобы это всё работало в папке, без сети.
долго и упорно гуглил, не нашёл ничего толкового, нагуглил какуюто хрень https://github.com/eligrey/FileSaver.js но не знаю как ей пользоваться, как подключить.
Подскажите пожалуйста как эту херню подключить чтоб работала, или какой альтернативный способ сохранять данные в файл.
|
|
15.10.2018, 03:06
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Nextmap
|
нужно использовать текстовый файл как базу данных.
|
Используйте локальное хранилище или если любимый браузер позволяет, то лучше базу, и не парьтесь с тем, что браузеру не царское дело.
|
|
15.10.2018, 13:02
|
Новичок на форуме
|
|
Регистрация: 14.10.2018
Сообщений: 5
|
|
Локальное хранилище хорошо, но надёжней было бы файл с базой иметь, а какой браузер позволяет и какую базу? мне главное чтобы всё в папке работало.
|
|
15.10.2018, 13:24
|
|
Профессор
|
|
Регистрация: 25.10.2016
Сообщений: 1,012
|
|
это имитация "скачивания" файла. Оно конечно сохранит данные в файл, но потом забудет о нем навсегда, прочитать никак
гугли indexedDB
|
|
15.10.2018, 13:29
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Nextmap
|
надёжней было бы файл с базой иметь
главное чтобы всё в папке работало
|
А локальное хранилище, это что? Браузер не работает в папке, а все свое он содержит в своих служебных каталогах. Собственно не каждый тип БД позволяет просто переносить файлы базы, создавая ее таким образом.
Сообщение от Nextmap
|
какой браузер позволяет и какую базу?
|
Это браузер, а значит и богатого выбора нет - Web SQL Database.
|
|
17.10.2018, 01:15
|
Новичок на форуме
|
|
Регистрация: 14.10.2018
Сообщений: 5
|
|
Понял принял, буду пробывать, Web SQL Database нормальная идея, но где хранится это всё? если скажем использовать портативный браузер, то получится базу эту переносить с компьютера на компьютер?
|
|
17.10.2018, 05:41
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Не знаю насчет портативности, поддерживает ли эти браузеры базу. Что касается переноса файлов базы - например в MySQL можно файлы таблиц типа MYISAM взять и перенести в какой либо каталог, и будет создана база под именем этого каталога, останется только добавить пользователя на эту базу. А вот файлы таблиц INNODB уже не получится.
Базы не таскают файлами туда сюда, базы экспортируют/импортируют. Файлы экспорта базы данных представляют из себя обычные SQL запросы, которые при импорте будут выполнены и будет создана база на новом месте или добавлена только таблица в существующую базу, или обновлена уже существующая таблица.
Это спецификация https://dev.w3.org/html5/webdatabase/, это на чем она базируется https://ru.wikipedia.org/wiki/SQLite.
База данных, это "грамотное" хранение данных с поддержкой их различных типов, это возможность индексации данных, это расчеты, сравнения, преобразования в запросах и большие возможности сортировки выборки. Очень сложно представить себе к примеру интернет магазин, который бы вместо полноценной базы использовал самописные файлы для хранения товаров. В тоже время набор простых данных вполне может обслуживать нечто более легкое. Что за данные и их структура, которые хранит ваша база? Может действительно хватит локального хранилища, тогда и с моб. устройствами легче будет. Странно только то, что если для себя, то о портировании речи вроде быть не должно.
Последний раз редактировалось laimas, 17.10.2018 в 06:11.
|
|
17.10.2018, 10:00
|
Новичок на форуме
|
|
Регистрация: 14.10.2018
Сообщений: 5
|
|
В общем база будет хранить данные о растениях, цветах, пока точно не известно какие и сколько полей будет, будут картинки, но их заказчик будет заливать вручную в папку и соответственно переименовывать в нужный id.
Ни о каких поисках речи не шло, и позиций я думаю не будет очень много, поэтому наверное локального хранилища + портативного браузера будет достаточно. Оно же отдельное на каждый браузер?
|
|
17.10.2018, 10:14
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Чтобы иметь представление о структуре базы и какая потребуется, почитайте хотя бы о реляционных базах данных и нормализации. Сдается мне, что по перечисленному, локальное хранилище, это не то.
Базы данных могут хранить тип BLOB, то есть изображения вполне можно записать в базу. Но размеры изображений непомерно будут увеличивать ее объем, а все БД под браузер имеют ограничения на него. Изображения обычно пишут в каталог, а база хранит только ссылки на них. Исходя из этого, скорее всего нужно как минимум приложение браузерное, а не html страничка, либо чисто приложение без всякого браузера, коли все предполагает только локальное хранение и использование, включая и моб. устройства. А если моб. устройства, то хранить данные в этом случае лучше тогда в облаке.
Последний раз редактировалось laimas, 17.10.2018 в 10:16.
|
|
17.10.2018, 14:57
|
Новичок на форуме
|
|
Регистрация: 14.10.2018
Сообщений: 5
|
|
Ну понятно) я бы написал обычное приложение, но с написанием интерфейсов у меня всегда была беда) да и не хочу усердствовать, хочу написать на том что знаю) но я понял в какую сторону копать, спасибо)
|
|
|
|