HTML 5 локальное хранилище - PullRequest
       0

HTML 5 локальное хранилище

6 голосов
/ 02 сентября 2010

Могу ли я сохранять данные в файлы CSV или XML в автономном режиме на стороне клиента через HTML5?

Ответы [ 5 ]

4 голосов
/ 02 сентября 2010

Автономное хранилище - это внутреннее хранилище. Он не предназначен для экспорта некоторых файлов в определенный формат / определенную папку на диске.

3 голосов
/ 03 сентября 2010

API веб-хранилища хранит данные в виде пары [ключ, значение], где оба ключа, значения являются строками.

Таким образом, данные в любом формате должны придерживаться этого механизма для локального хранения. Например, если у вас есть объект JSON, например:

{
  name:'John',
  gender:'male'
}

Вы можете сохранить его (через JavaScript) после передачи в виде строки, подобной:

localStorage.setItem("myObj","{name:'John',gender:'male'}");

Для объектов JSON используйте JSON.stringify () , чтобы преобразовать их в строки, и используйте JSON.parse () , чтобы прочитать их обратно.

2 голосов
/ 02 сентября 2010

Вы можете использовать localstorage, но это позволяет вам только хранить что-то во внутреннем хранилище браузера (вы не можете решить, куда и как записывать данные).

Есть и File API, но он оченьранние этапы и на данный момент не позволяют произвольно хранить файлы на клиенте:

HTML 5 File API

0 голосов
/ 13 января 2015

Допустим, вы создали массив или объект, подобный этому.

var arrayOrObject = [{obj1:{name:John, age:16}},{obj2:{name:Jane, age:17}}];

Вы можете сохранить эти данные на локальных устройствах с помощью localStorage.

if (typeof(localStorage) == 'undefined' ) {
    alert('Your browser does not support HTML5 localStorage. Try upgrading.');
} 
else {
     try {                  
        localStorage.setItem("storedArrayOrObject", JSON.stringify(arrayOrObject));
                             //saves to the database, “key”, “value”                
    } catch (e) {
        if (e == QUOTA_EXCEEDED_ERR) {
            alert('Quota exceeded!'); //data wasn’t successfully saved due to quota exceed so throw an error
        }
    }
}

Чтобы получить данные в массиве или структуре объекта:

 var getStoredArrayOrObject = JSON.parse(localStorage.getItem('storedArrayOrObject'));`

Toудалить данные localStorage:

 localStorage.removeItem('storedArrayOrObject');

Не рекомендуется, но доступно:

 localStorage.clear();
0 голосов
/ 06 апреля 2012

Вы можете сохранить и экспортировать как CSV, как это ... http://joshualay.net/examples/StamPad/StamPad.html

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