2

HTML5が提供するFILESYSTEMAPIを使用してデータを正常に保存しました。しかし、保存したデータをバックアップできるように、ローカルリポジトリのどこでファイルを識別できるかわかりません。サーバー(Tomcat 7.0)のアプリケーションのルートディレクトリも確認しましたが、ファイルが見つかりませんでした。Chrome開発ツールを使用しているときに、データが正常に保存されていることを確認しました。

コードは次のようになります。

 window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;

            function onInitFs(fs)
            {
                fs.root.getFile('fpslog.txt', {create: false}, function(fileEntry) {

                        // Create a FileWriter object for our FileEntry (log.txt).
                        fileEntry.createWriter(function(fileWriter) {

                          fileWriter.seek(fileWriter.length); // Start write position at EOF.

                             fileWriter.onwriteend = function(e) {
                              console.log('Write completed.');
                            };

                              fileWriter.onerror = function(e) {
                              console.log('Write failed: ' + e.toString());
                            };

                          // Create a new Blob and write it to log.txt.
                          var blob = new Blob(['Hello World'], {type: 'text/plain'});

                          fileWriter.write(blob);

                        }, errorHandler);

                      }, errorHandler);

            }

            window.requestFileSystem(window.TEMPORARY, 5*1024*1024 /*5MB*/, onInitFs, errorHandler);

およびERROR関数:

function errorHandler(e) {
                  var msg = '';

                  switch (e.code) {
                    case FileError.QUOTA_EXCEEDED_ERR:
                      msg = 'QUOTA_EXCEEDED_ERR';
                      break;
                    case FileError.NOT_FOUND_ERR:
                      msg = 'NOT_FOUND_ERR';
                      break;
                    case FileError.SECURITY_ERR:
                      msg = 'SECURITY_ERR';
                      break;
                    case FileError.INVALID_MODIFICATION_ERR:
                      msg = 'INVALID_MODIFICATION_ERR';
                      break;
                    case FileError.INVALID_STATE_ERR:
                      msg = 'INVALID_STATE_ERR';
                      break;
                    default:
                      msg = 'Unknown Error';
                      break;
                  };

                  console.log('Error: ' + msg);
                }

開発者ツールでは、エラー印刷は表示されませんでした。「書き込みが完了しました」と表示されています。これは、どこかにファイルを作成してデータを保存できることを意味します。そのデータにアクセスして表示したい。すでにチュートリアルで述べたように、ルートフォルダに作成されたファイルは表示されません。助けてください。

4

2 に答える 2

2

ルートディレクトリのfilesystem:URLを使用してファイルを表示することもできます。アドレスバーで開き filesystem:<YOUR_ORIGIN>/temporary/、アプリが実行されているオリジンに置き換えます(例:「http://stackoverflow.com」)。

実験中のDevToolsで「ファイルシステム検査」を有効にすることもできます。これには、で「ExperimentalDevTools機能を有効にする」も必要になる場合がありますabout:flags

于 2012-11-16T17:23:16.397 に答える
0

HTML5のファイルシステムAPIのコンテンツを表示するのに役立つグーグルクロームプラグインを使用して、方法を見つけました。

于 2012-11-16T00:11:55.633 に答える