2016-05-14 6 views
2

私はクロムアプリの開発に新しいです、私は数日前にNWを使用してデスクトップベースのアプリを開発しました、今私はクロムのための同じアプリを開発したい。ユーザのローカルファイルシステム内(アプリ名と同じ名前の)chrome app installedディレクトリにプログラムでアクセスする方法は?

1.Createフォルダを、アプリがインストールされた場合 - ここで私が達成したいものを

2.上記のフォルダ内のファイルとフォルダの保存/アクセス。

これらの問題はクロームのファイルシステムAPIによって解決できますか?はいの場合は、私に方法を提案してください。

はところで、私は、ファイルシステムAPIにアクセスしようとしていると私は私のアプリを実行し、私はChromeの拡張機能で警告参照ファイルシステムAPIにアクセスしようとすると、私のマニフェストファイルがbelow-

{ 
    "manifest_version": 2, 
    "name": "sampleApp", 
    "short_name": "sampleApp", 
    "description": "A Sample APP", 
    "version": "0.0.1", 
    "minimum_chrome_version": "38", 

    "icons": { 
    "16": "assets/images/icon_16.png", 
    "128": "assets/images/icon_128.png" 
    }, 
    "permissions": [ 
    {"fileSystem": ["write", "retainEntries", "directory","requestFileSystem"]}, 
    "unlimitedStorage", 
    "system.network", 
    "storage" 
    ], 
    "app": { 
    "background": { 
     "scripts": ["main.js"] 
    } 

    } 
} 

のように見える面積 -

注:私は勝つ使用しています10.

fileSystem.requestFileSystem' is not allowed for specified platform 

答えて

3

requestFileSystemは使用する間違ったAPIです:

キオスクセッションでのみ動作するキオスクアプリケーションで利用できます。

fileSystem.chooseEntryに電話して、そのフォルダを作成する場所をユーザに尋ねてから、そのエントリを保持して、再度許可を求める必要はありません。

chooseEntryでユーザーに尋ねる方法はありませんが、これは1回だけ行うことができます。

良いfileSystem APIサンプルはprovided by Googleです。 chrome.runtime.getPackageDirectoryEntryで(あなたがタイトルに尋ねると)


注意、あなたは黙って、アプリケーションのインストールフォルダへのアクセスを要求することができます。ただし、このアクセスは読み取り専用です。

ChromeのWebストアからダウンロードしたすべてのファイルの署名付きハッシュを保持しているため、Chromeはその方法を問わず即座にアプリを「侵害された」ものとして無効にします。潜在的な解決策として


、あなたはrequest a virtual filesystemを促す前に、プロンプトがあなたのアプリケーションが最初に行うことであることをことをしたくないことができます。しかし、ディスクに書き出すにはプロンプトが必要です。このように過度に複雑にすることはほとんど意味がありません。ユーザーに保存場所を選択する必要があることを説明してください。

+0

私は以前のファイルシステムサンプルを試してみました。私の要件を満たしていません。いつでもダイアログとして保存する必要はありません。同じシナリオを達成するための他の方法もあります。他の場所は、アプリケーションのディレクトリに必要ではない? – Ahtisham

+0

いいえ、プロンプトなしで直接書き込みアクセスを許可されることはありません。 – Xan

+0

キオスクモードでは、ユーザーのプロンプトなしに書き込みアクセス権を持つ外部ファイルシステムを取得できます。https://developer.chrome。com/apps/fileSystem#method-requestFileSystem – kzahel

関連する問題