You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.
Forum Discussion
Narniaman
7 years agoHelpful | Level 6
Path Not Found Error
I'm trying to download a simple file from a Dropbox for a rather large C# program I am developing. My file path for the file in the dropbox is: "C://Users//xxxx//Dropbox (MAD treat)//C#//Sweet...
- 7 years ago
Thanks!
I finally figured out that the default directory was "\\Apps\\MyAppFolder". . . . and that was the only folder I could read from or write to without going to the "production" mode. Part of the confusion was I was trying to use some subdirectories to the default directory to.
Greg-DB
Dropbox Staff
When referencing files via path on the Dropbox API, the path will be relative to the root of the Dropbox, not including any local filesystem components from linked computers.
So, in your case, the right value would be one of these, for whatever the actual file extension is for the uploaded file:
/C#/Sweetners.docx
/C#/Sweetners.doc
The API and .NET SDK can handle special characters, such as spaces and '#'.
In order to get the right path values though, you can list the contents of a folder using ListFolderAsync:
https://dropbox.github.io/dropbox-sdk-dotnet/html/M_Dropbox_Api_Files_Routes_FilesUserRoutes_ListFolderAsync_1.htm
You can supply "" as the path to list the contents of the root folder, or any subfolder such as "/C#". You can then get the resulting 'PathLower' value for the desired file and use that in DownloadAsync.
So, in your case, the right value would be one of these, for whatever the actual file extension is for the uploaded file:
/C#/Sweetners.docx
/C#/Sweetners.doc
The API and .NET SDK can handle special characters, such as spaces and '#'.
In order to get the right path values though, you can list the contents of a folder using ListFolderAsync:
https://dropbox.github.io/dropbox-sdk-dotnet/html/M_Dropbox_Api_Files_Routes_FilesUserRoutes_ListFolderAsync_1.htm
You can supply "" as the path to list the contents of the root folder, or any subfolder such as "/C#". You can then get the resulting 'PathLower' value for the desired file and use that in DownloadAsync.
Narniaman
7 years agoHelpful | Level 6
I think maybe I've figured out my problem. . . but still don't have a solution for it.
When my program runs the command
using(var response = await DBClient.Files.DownloadAsync(folder + "/" + file)) {}
the only way it works is if (folder + "/" + file) is empty -- ie, (String.Empty) works, and should return the "Dropbox Root" directory. However, this returns zero files and zero folders. . . although there are both files and folders.
I think this is because my App is not "published" yet, and the only folder I can access in this mode is "/Dropbox/Apps", or in my case "/Dropbox (MAD Treat)/Apps".
I would think that "/Apps" should be sufficient to get me to that folder. . but it doesn't.
Neither does "//Apps" nor @"/Apps", or for that matter, "\\Apps" nor @"\Apps"
Once again, thanks for your help. . . .
- Greg-DB7 years agoDropbox StaffThe DownloadAsync method does not support the empty string as the path value. The empty string would refer to root, a folder, but the DownloadAsync method only supports files.
You may actually be referring to the ListFolderAsync method, which does support the empty string, which is the right way to list the contents of root.
Note that for apps with the app folder permission though, "root" is interpreted as the root of the special app folder made for the app, which is empty when first created. If it is still empty, you will correctly get an empty list back.
This is not related to whether or not your app is "published". You also do not need to include the "/Apps" path component yourself.- Narniaman7 years agoHelpful | Level 6
Thanks!
I finally figured out that the default directory was "\\Apps\\MyAppFolder". . . . and that was the only folder I could read from or write to without going to the "production" mode. Part of the confusion was I was trying to use some subdirectories to the default directory to.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,882 PostsLatest Activity: 3 years agoIf 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!