2016-03-25 47 views
-1

當用戶使用chrome文件系統API打開應用程序時,如何保留多個fileEntry對象以供重用?我試圖使用數組來存儲文件條目,並且它工作正常,直到我重新啓動應用程序,並且無法使用它們。而不是返回一個fileEntry對象控制檯返回一個對象對象(這是我用chrome.storage.local.setchrome.storage.local.get設置和檢索條目後,用戶重新啓動應用程序。)用chrome文件系統API保留多個fileEntries?

+2

我覺得你缺乏令人不安的代碼。 –

+0

@DanielHerr?我在尋求幫助。我覺得你缺乏令人不安的代碼。我只需要一種方法來使用chrome文件系統API保留和恢復_multiple_文件條目。 – Devplex

+0

如果你沒有發佈你所擁有的東西,你會如何獲得幫助? –

回答

0

經過大量的來回,我想出瞭如何保留多個 fileEntries。 以下是需要它的人的代碼。

//save 
    //'fileEntries' is an array that I made earlier where multiple entries were stored 
    var keep = []; 
    fileEntries.forEach(function(entry, index) { 
    //if it's empty or null, return nothing 
    //otherwise add the id to our empty array 'keep' 
    if (entry == null) { 
     //do nothing 
    } else { 
     keep[index] = chrome.fileSystem.retainEntry(entry); 
    } 
    }); 
    chrome.storage.local.set({ 
    retained: keep 
    }); 
    //load 
    chrome.storage.local.get('retained', function(data) { 
    var retained = data.retained; 
    retained = retained.filter(function(d) { 
    return d 
    }); 
    for (var i = 0; i < retained.length; i++) { 
    var tab = retained[i]; 
    chrome.fileSystem.restoreEntry(tab, function(entry) { 
     fileEntries.push(entry); 
    }); 
    } 
}); 

而......這就是它!加載函數完成後,fileEntries數組具有所有fileEntry對象!

相關問題