Need to see if your shared folder is taking up space on your dropbox 👨💻? Find out how to check here.
Forum Discussion
VyacheslavB
6 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.
13 Replies
- Greg-DB6 years ago
Dropbox Community Moderator
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.
- VyacheslavB6 years agoHelpful | 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-DB6 years ago
Dropbox Community Moderator
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.
- VyacheslavB6 years agoHelpful | Level 5
When I try to use code from example, I get a warning: Cast from 'Files.ListFolderResult' to unrelated type 'Files.FileMetadata' always fails.
Maybe there is another option or a better example? Or am I doing something wrong? - Greg-DB6 years ago
Dropbox Community Moderator
You're trying to cast the ListFolderResult itself, which isn't a type of Metadata. You should instead be casting each Metadata object in the ListFolderResult.entries array.
- VyacheslavB6 years agoHelpful | Level 5
Thanks, it really helped me!
- Mimi_896 years agoNew member | Level 2Documentaions
- roggerCorrea4 years agoExplorer | 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!
- roggerCorrea4 years agoExplorer | Level 3
I get this error, does anybody knows what to do?
- Greg-DB4 years ago
Dropbox Community Moderator
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.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
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, Facebook or Instagram.
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!