2012-05-29 102 views
0

我想(很簡單)使用webworks獲取相機目錄的文件列表。 我想要的代碼如下:黑莓文件(Webworks)

function displayPhotos(id) { 
try { 
    var Dir, path, items; 

    if ((window.blackberry === undefined) || (blackberry.io === undefined) || (blackberry.io.file === undefined)) { 
     appendContent("photoDetails", "<p><i><b>blackberry.io.file</b> object not found (likely cause is WebWorks APIs are not supported by this user agent).</i></p>"); 
     debug.log("displayPhotos", "blackberry.io.file object is undefined.", debug.error); 
     return false; 
    } 

    Dir = blackberry.io.dir; 

    path = "";  
    path = "file:///Device/home/user/camera""; 


    items = Dir.listFiles(path); 

    console.log(items); 

    //setContent(id, formatAsHTML(path, items)); 

} 
catch(e) { 
    console.log("displayPhotos", e, debug.exception); 
} 
} 

所有我得到的回覆是錯誤1004 - 我認爲這是一個基於權限,但我無法相信相機出現故障,我不能得到一個讀 - 任何人都知道什麼?

乾杯!

回答

2

好吧,我想通了,希望這有助於anyine越來越可怕的黑莓WebWorks的錯誤1004

你需要在路徑來存儲更改設備。就是這樣。這個例子的工作原理:

function displayPhotos(myFolder) { 
    try { 
     var Dir, path, items;  
     Dir = blackberry.io.dir; 

    path = "";  
    if (myFolder != undefined){ 
     path = myFolder; 
    } else { 
     path = "file:///store/home/user/pictures"; 
     //file:///store/home/user/camera 
    } 

    items = Dir.listFiles(path);   
    return items; 
} 
catch(e) { 
    console.log("displayPhotos", e, debug.exception); 
} 
} 


function displayFiles(myFolder) { 
try { 
    console.log("displayFiles", "in " + myFolder); 
    return displayPhotos(myFolder); 
} 
catch(e) { 
    console.log("displayFiles", e, debug.exception); 
} 
} 

你可以把它像這樣:

displayFiles(); 

或指定,像這樣的文件夾:

displayFiles("file:///store/home/user/camera"); 

返回文件名的數組。

希望這可以幫助別人!

+0

存儲在存儲卡中的照片是什麼?這是否也取得了這些? – CreativityKills

+0

不可以。您可以將URL從「file:/// store/home/user/camera」更改爲SD卡的位置,並且它可以正常工作。 – Richard