How can i get File list form external storage?

You must Login before you can answer or comment on any questions.

I need to get file list from external storage. this is my code

var dir = Titanium.Filesystem.getFile(Titanium.Filesystem.externalStorageDirectory);
Ti.API.info('directoryListing = ' + dir.getDirectoryListing());
Ti.API.info('getParent = ' + dir.getParent());
Ti.API.info('spaceAvailable = ' + dir.spaceAvailable());
 
var dir_files = dir.getParent().getDirectoryListing();
for (var i = 0; i < dir_files.length; i++) {
    Ti.API.info('dir_files ' + dir_files[i]);
}
out put
[INFO][TiAPI   ( 1611)] dir_files DCIM
[INFO][TiAPI   ( 1611)] dir_files Android
[INFO][TiAPI   ( 1611)] dir_files com.shanuka.filemanager
[INFO][TiAPI   ( 1611)] dir_files .android_secure
[INFO][TiAPI   ( 1611)] dir_files LOST.DIR
i need to read all the files from DCIM folder.

please help me

2 Answers

I have found better way. check this out

var extStorage = dir.getParent().nativePath;
 
var dir = Titanium.Filesystem.getFile(extStorage);
Ti.API.info('directoryListing = ' + dir.getDirectoryListing());
Ti.API.info('getParent = ' + dir.getParent());
Ti.API.info('spaceAvailable = ' + dir.spaceAvailable());
 
var dir_files = dir.getDirectoryListing();
for (var i = 0; i < dir_files.length; i++) {
    var FirstFolderLevel = extStorage + Titanium.Filesystem.separator + dir_files[i] + Titanium.Filesystem.separator;
 
    var dirFirstFolderLevel = Titanium.Filesystem.getFile(FirstFolderLevel);
 
    if (dirFirstFolderLevel.extension() == null) {
 
        var dir_files_dirFirstFolderLevel = dirFirstFolderLevel.getDirectoryListing();
 
        var SecondFolderLevel = FirstFolderLevel + Titanium.Filesystem.separator + dir_files_dirFirstFolderLevel[i] + Titanium.Filesystem.separator;
 
        var dirSecondFolderLevel = Titanium.Filesystem.getFile(SecondFolderLevel);
 
        for (var i = 0; i < dir_files_dirFirstFolderLevel.length; i++) {
 
            var thirdFolderLevel = FirstFolderLevel + Titanium.Filesystem.separator + dir_files_dirFirstFolderLevel[i] + Titanium.Filesystem.separator;
 
            var dirthirdFolderLevel = Titanium.Filesystem.getFile(thirdFolderLevel);
 
            if (dirthirdFolderLevel.extension() == null) {
                Ti.API.info('dirFirstFolderLevel.getDirectoryListing()' + dirthirdFolderLevel.getDirectoryListing());
                var dir_files_dirSecondFolderLevel = dirthirdFolderLevel.getDirectoryListing();
                for (var i = 0; i < dir_files_dirSecondFolderLevel.length; i++) {
                    //Ti.API.info('dir_files_dirSecondFolderLevel '+dir_files_dirSecondFolderLevel[i]);
                    var FullimaegURl = thirdFolderLevel + Titanium.Filesystem.separator + dir_files_dirSecondFolderLevel[i];
                    //Ti.API.info('FullimaegURl ' + FullimaegURl)
                    var dirfourthfolderLevel = Titanium.Filesystem.getFile(FullimaegURl);
                    //Ti.API.info('Imagefile extention '+dirfourthfolderLevel.extension());
                    if(dirfourthfolderLevel.extension()=='jpg' || dirfourthfolderLevel.extension()=='png'|| dirfourthfolderLevel.extension()=='jpeg'){
                        Ti.API.info('Imagefile extention '+dirfourthfolderLevel.extension());
                    }
                }//end of for loop              
            }// end if dirthirdFolderLevel statement
            else if(dirthirdFolderLevel.extension()=='jpg'|| dirthirdFolderLevel.extension()=='png'|| dirthirdFolderLevel.extension()=='jpeg'){
                Ti.API.info('Imagefile extention '+dirthirdFolderLevel.extension());
            }// else of dirthirdFolderLevel statement
 
        }// end of for loop 
 
    }
    else if(dirFirstFolderLevel.extension() == 'jpg'|| dirFirstFolderLevel.extension()=='png'|| dirthirdFolderLevel.extension()=='jpeg'){
        Ti.API.info('Imagefile extention '+dirFirstFolderLevel.extension());
    }
}

Your Answer

Think you can help? Login to answer this question!