3

ファイルシステムAPIを使用してchromeでファイルを作成しようとしていました。最初に、次のようにPERSISTENTストレージを試しました。Google ChromeでHTML5ファイルのAPIを使用しようとしたときにFileErrorを取得する

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; 
webkitStorageInfo.requestQuota(webkitStorageInfo.PERSISTENT, 1024*1024, 
    function(grantedBytes) { 
     window.requestFileSystem(webkitStorageInfo.PERSISTENT, grantedBytes, onInitFs, 
     errorHandler); 
    }, 
    errorHandler); 

最初はうまくいきました。私は、同じコードは私に次のエラー

NOT_SUPPORTED_ERR: DOM Exception 9 

を与えているしようとすると、

私にセキュリティエラーを意味し、コード2といくつかのFILEERRORを与えている
window.requestFileSystem(TEMPORARY, 1024*1024, onInitFs, errorHandler); 

を次のようにしかし、今それから私は、一時ファイルの保存を試してみました。誰でもこれらの問題について私を助けてくれますか?

+0

2番目のエラーは、実際にあなたのDOMFileSystemオブジェクトで無効な何かを実行しているあなたの 'onInitFs'コールバックのものでしょうか? – apsillers

+0

プログラムコントロールがonInitFsに到達していません。クォータを要求する前に 'webkitStorageInfo.queryUsageAndQuota'関数を使ってみました。これは、利用可能なバイトとして0バイトを戻しています。それは私が推測する問題です。クォータを取得する方法はありますか?なぜ私はこれが0ですか? –

+0

あなたの権限に 'unlimitedStorage'を追加して、それが役立つかどうか確認してください。もしそうでなければ、何が間違っているのか本当に分かりません。 – apsillers

答えて

0

エラーを再現できません。私は、コンテンツスクリプトでファイルシステムAPIを使用する単純な拡張を行い、それは私のためにうまく動作します。あなたのコンソールに何かエラーがありますか?そうでない場合は、このコードをビルドし、エラーが発生していないかどうかを確認してください。

manifest.jsonを:

{ 
    "name": "Testing FS", 
    "manifest_version":2, 
    "version": "1.0", 
    "content_scripts": [ 
    { 
     "matches":["*://*.google.com/*"], 
     "js":["script.js"] 
    } 
    ] 
} 

script.js:

webkitStorageInfo.requestQuota(webkitStorageInfo.TEMPORARY, 1024*1024, function(grantedBytes) { 
    console.log("bytes granted: ", grantedBytes); 
    window.webkitRequestFileSystem(webkitStorageInfo.TEMPORARY, grantedBytes, onInitFs, errorHandler) 
}, errorHandler); 

function errorHandler(e) { 
    console.log("FS error", e); 
} 

function onInitFs(fs) { 
    fs.root.getFile('log.txt', {create: true}, function(fileEntry) { 
     console.log(fileEntry); 
    }, errorHandler); 
} 
2

ローカルコンピュータに保存されているページ内のコードを配置し、それを実行しようとしていますChromeで?フラグを追加しましたか?

--allow-file-access-from-files 

あなたのChromeのショートカットには?私はあなたと同じエラーに遭遇してしまい、突然、このフラグを追加してクロームを実行するのを忘れてしまったことに気付きました。

関連する問題