One month down in 2025: How are your resolutions coming along? Check out how to get back on track here.
Forum Discussion
VyacheslavB
5 years agoHelpful | Level 5
How to display folders in the file list Dropbox API (Swift 5)
I get a list of the user's files and then filter it to show only the music files. But I also want to see subfolders. How should I set up my filter for this? Could you help me.
My function where I get the list of files looks like this:
I also want to be able to enter a subfolder, as I understand it, for this I need to insert the path to the subfolder in path: "/ someFolder". But how can I get this path?
To check if a particular entry is a file or a folder, you can check the type of the entry, such as by switching on it as shown in this example.
- Greg-DB
Dropbox Staff
If you want to access subfolders as well when listing a folder, you can set recursive:true when calling listFolder. That will make the results include nested entries as well.
Alternatively you can call separately to specifically list a particular subfolder, by passing in the path. To do so, get and pass in the relevant Metadata.pathLower.
Either way, make sure you also have listFolderContinue implemented (as documented under listFolder) to make sure you're getting all of the entries.
- VyacheslavBHelpful | Level 5
If I want to use the second option (using the folder path), then how do I display only music files and folders? I use .hasSuffix for sorting, but then I cannot see the folder in the list.
How can I separate folders from files in code. A file has its extension, but how to filter so that folders are visible in the list too?As you understand, I want to have some attribute to know this is folder or file.
- Greg-DB
Dropbox Staff
To check if a particular entry is a file or a folder, you can check the type of the entry, such as by switching on it as shown in this example.
- roggerCorreaExplorer | Level 3
Hi Viyalexhab,
How do you declare the variable fileList?
I'm trying t do the same thing, so I can append the files to it. But I can't figure out what type of variable you need to use to be able to append.Thanks!
- Greg-DB
Dropbox Staff
roggerCorrea It looks like fileList would be an array, perhaps initialized like 'var fileList = [Any]()', or maybe more ideally 'var fileList = [Files.Metadata]()'.
Your cast is failing because you're attempting to cast the entire array of Metadata, that is, your 'response', which is the listFolderResult?.entries, instead of individual Metadata entries.
You should instead first iterate over the entries to get each entry, like the 'for entry in result.entries {' line in the original post shows.
- roggerCorreaExplorer | Level 3
Hi Greg, thank you so much. I'm new to Swift and still figuring out many things.
This was of great help!
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.5,945 PostsLatest Activity: 50 minutes ago
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!