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