2013-07-02 45 views
0

我正在使用web工作人員和文件系統api來讀取文件的內容。然而,每當我嘗試讀取文件時,我都會在var message = read.readAsText(fileEntry)的代碼行上得到DOM EXCEPTION 8:NOT FOUND ERROR;任何人都可以幫助解釋爲什麼這是發生?HTML 5文件讀取器同步

path = e.data + "/" + "index.html"; 

var buffers = []; 

var message = ""; 

var fileEntry = fs.root.getFile(path, {create: false}); 

var reader = new FileReaderSync(); 
message = reader.readAsText(fileEntry); 

self.postMessage(message); 
+0

你確定文件是否存在? MDN指出,當由DOM Blob或文件表示的資源無法找到時,例如因爲它已經被擦除而引發錯誤「。 – Graham

+0

是的,我確定該文件存在。即使我改變getFile來創建true,我仍然會得到錯誤。 –

回答

1

readAsText需要File對象而不是FileEntrySync對象。調用fileEntry.file()來獲取File對象。

path = e.data + "/" + "index.html"; 
var buffers = []; 
var message = ""; 
var fileEntry = fs.root.getFile(path, {create: false}); 
var reader = new FileReaderSync(); 

message = reader.readAsText(fileEntry.file());

self.postMessage(message);