Создание файла в изолированной файловой системе при ошибке Chrome - PullRequest
1 голос
/ 16 марта 2012

Попытка создать файл с помощью изолированного API FileSystem:

window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;     
window.requestFileSystem(
    window.PERSISTENT, 
    1024 * 1024, 
    function( fs ) {       
        fs.root.getFile( 'test.txt', {create: true}, function( fe )
        {
            alert( "OK" );
        }, function( e )
        {
            alert( e.code );
        }
        );
    }, null
);

Я всегда получаю код ошибки 10 (QUOTA_EXCEEDED_ERR) для этого кода.

Chrome: 17.0.963.79 m, началось с --allow-file-access-from-files flag.

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 16 марта 2012

Для постоянного хранилища вы должны явно запросить разрешение пользователя:

webkitStorageInfo.requestQuota( 
  webkitStorageInfo.PERSISTENT,

  1000, // amount of bytes you need

  function(availableBytes) {
    alert("Quota is available. Quota size: " + availableBytes);
    // you can use the filesystem now
  }
);

Вы также можете выбрать временное хранилище.

0 голосов
/ 23 октября 2013

Очень полезный ответ от pimvdb. По состоянию на октябрь 2013 г. Chrome объявил webkitStorageInfo устаревшим. Вместо этого предпочтите следующее:

navigator.webkitPersistentStorage.requestQuota(
  2048, //bytes of storage requested
  function(availableBytes) { 
    console.log(availableBytes);
  }
);

Чтобы запросить временное хранилище, используйте navigator.webkitTemporaryStorage.requestQuota

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