2011-07-23 67 views
10

我嘗試在Firefox,IE 9,Chrome和Opera下面的代碼,但onInitFs(fs)函數沒有調用。如果我在窗口中添加'()'到onInitFs。 requestFileSystem(window.PERSISTENT,1024 * 1024,onInitFs,errorHandler)函數被調用但fs爲空? 有沒有人知道如何解決這個問題?我嘗試在Windows 7上。我會非常感謝你的幫助。window.requestFileSystem不能正常工作

<!DOCTYPE HTML> 
`<html> 
    <head> 
    <script> 
     function errorHandler(e){ 
      alert("errorrrr"); 
     } 
     function onInitFs(fs){ 
     alert("onInitFs"); 
     } 
     function readClick(){ 
       if (window.webkitRequestFileSystem) { 
        window.webkitRequestFileSystem(window.PERSISTENT, 1024*1024,onInitFs,errorHandler); 
       } 
       else { 
        window.requestFileSystem(window.PERSISTENT, 1024*1024, onInitFs, errorHandler); 
       } 

      alert("read finishsssss"); 
     } 
     </script> 
    </head> 
<body> 
<input type="button" value="Read dir" onclick="readClick()"> 
    <ul id="filelist"></ul> 
</body> 
</html> 
+0

相關:http://stackoverflow.com/questions/19802032/how-can-a-chrome-extension-save-many-files-to-a-user-specified-directory/19813816#comment71099517_19813816 – Pacerier

回答

12

只有Chrome支持requestFileSystemwebkitRequestFileSystem版本。

無其他瀏覽器(FF6,IE9,OP11)支持此

+0

1.thnx但我想在Chrome上使用webkitRequestFileSystem和onInitFs(fs)函數不起作用,即不會調用 – Tony2

+0

2.my的第二個問題是:你現在有沒有辦法獲得幾乎所有瀏覽器都能使用的給定文件夾的文件列表? – Tony2

+0

@ Tony2 no。 requestFileSystem爲您提供了一個沙盒文件系統。你不能直接訪問本地文件。你可以讓用戶通過''上傳文件,儘管 – Raynos

3

忽視的安全問題,你不能「瀏覽」本地文件與網站的,你的問題應該回答:

請求時一個PERSISTENT文件系統,你必須首先請求配額。 嘗試,與其:

window.storageInfo.requestQuota(PERSISTENT, 1024*1024, 
    function(grantedBytes) { 
     window.requestFileSystem(window.PERSISTENT, grantedBytes, onInitFs, errorHandler); 
    }, 
    errorHandler 
);