Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
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#//Sweetners.docx"
I've also tried to get this to work by placing the file just in the dropbox:
"C://Users//xxxx//Dropbox (MAD treat)//Sweetners.docx"
Here's the coding I am using:
public async Task<bool> Download() {
DBClient = new DropboxClient("zy4WfD_K0CME67Ng6123123123123123123123vCs5ye3LR4FQ5WbbQc7SETCETCETCNotTheRealAuthentication");
try {
var localFilePath = @"C:/C# Production";
string folder = "/C#";
string file = "Sweetners.doc";
using(var response = await DBClient.Files.DownloadAsync(folder + "/" + file)) {
using(var fileStream = File.Create(localFilePath)) {
(await response.GetContentAsStreamAsync()).CopyTo(fileStream);
}
}
return true;
}
catch(Exception ex) {
MessageBox.Show(ex.ToString());
return false;
}
}
============================
When I step through this, I get a "path not found" error at "await DBClient.Files.DownloadAsync(folder + "/" + file)" request.
I have tried various combinations of folder and file, including. . .
folder = "/Dropbox (MAD treat)/C#" and "/C#", "//Dropbox (MAD treat)//C#" and "//C#"
and file = "Sweetner.docx" and "Sweetner.doc", as well as "/Sweetner.docx" and "/Sweetner.doc"
I've also tried just using "/Dropbox (MAD treat)/C#/Sweetners.docx", "//Dropbox (MAD treat)//C#//Sweetners.docx", and "//Dropbox
All to no avail! I keep getting the "file path not found" error.
Is this because DBClient.Files.DownloadAsync doesn't recognize spaces in the "Dropbox (Mad treat)" folder. . . spaces that I can't remove??
Thanks in advance!!
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.
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. . . .
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.
Hi there!
If you need more help you can view your support options (expected response time for a 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!