1

サンドボックス化された FileSystem API を使用してファイルを作成しようとしています:

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

私は何を間違っていますか?

4

2 に答える 2

2

永続ストレージの場合、ユーザーの許可を明示的に求める必要があります。

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
  }
);

一時預かりもお選びいただけます。

于 2012-03-16T10:29:34.687 に答える
0

pimvdbによる非常に役立つ回答。現在 (2013 年 10 月) の時点で、Chrome はwebkitStorageInfo廃止されたと報告されています。代わりに、以下を優先します。

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

一時保管をリクエストするには、次を使用しますnavigator.webkitTemporaryStorage.requestQuota

于 2013-10-23T17:33:51.627 に答える