2012-11-16 77 views
2

我已經使用HTML5提供的FILESYSTEM API成功存儲數據。但我不知道我可以在哪裏識別本地存儲庫中的文件,以便備份我存儲的數據。我還檢查了服務器中應用程序的根目錄(Tomcat 7.0),但我找不到該文件。在使用Chrome開發人員工具時,我檢查了數據是否成功存儲。我可以在哪裏使用FileSystem API查看我存儲的數據?

的代碼是這樣的:

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

和誤差函數:

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

的開發人員工具,我並沒有看到錯誤打印而跟它「寫完成」,這意味着我能夠在某處創建文件並存儲數據。我想要訪問該數據以查看。正如本教程中提到的,我沒有在根文件夾中看到任何文件。任何幫助請。

+0

@ E-Riz,我想知道如何存儲浮點數,使用Blob的整數值。如何在一個插入和其他Blob數據插入之間添加空間到文件中。任何幫助請.. –

回答

2

您還可以使用根目錄的filesystem: URL查看文件。在地址欄中打開 filesystem:<YOUR_ORIGIN>/temporary/,替換您的應用運行的原點(例如「http://stackoverflow.com」)。

您也可以在DevTools中啓用實驗下的「文件系統檢查」。這也可能要求您在about:flags中「啓用Experimental DevTools功能」。

+0

如何使用FileSystem API動態地使用Blob存儲整數和小數?一個示例片段將會有所幫助。 –

+0

難道你不能將數字存儲在.txt/.json文件中,並使用'Filesystem'和'FileReader' API讀回它們嗎?另外,您可以在讀取數據後,將數據的序列化數組以及'JSON.parse()'數據存儲回JS中。 – ebidel

+0

我只是想在本地資源庫中動態地存儲這些值。之後,我希望這些值可以繪製圖表。對於這種情況,我找不到任何解決方案。使用FileSystem API時,動態存儲從javascript函數返回值的值時,Blob正在存儲整個函數,而不是存儲從函數返回的值。例如: for ex:var blob = new Blob(['the values are:',+ getValues()]); fliewriter.write(blob); 在上面的場景中,而是存儲它正在存儲的值(函數getvalues(){return value;})。任何解決方案 –

0

我找到了方法,使用谷歌瀏覽器plugin,它可以幫助您查看HTML5的文件系統API的內容。

相關問題