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
sanjayssk
8 years agoHelpful | Level 6
Need .Net sample for download to file
I'm using Dropbox API in an asp.net application. I have managed to download the file contents into a stream upto the following line of code in an async task.
var strm = response.GetContentAsStreamAsync();
But I can't find a sample of how to write this stream finally to a file on the web server for which I do have a path DestPath. I have tried using some .Net code to write Stream to file but that complains and can not compile because the above strm and IO.Stream are different. I can't find a sample in .Net SDK for dropbox. Can someone help?
The GetContentAsStream method yields a Stream, so you should be able to use CopyTo like this:
var strm = await response.GetContentAsStreamAsync(); using (var fileStream = File.Create(localFilePath)) { strm.CopyTo(fileStream); }
- Greg-DBDropbox Staff
The GetContentAsStream method yields a Stream, so you should be able to use CopyTo like this:
var strm = await response.GetContentAsStreamAsync(); using (var fileStream = File.Create(localFilePath)) { strm.CopyTo(fileStream); }
- sanjaysskHelpful | Level 6
Thanks for the speedy reply! I was missing the "await" and hence it was complaining that CopyTo is not a method of Task<Stream>.
- sanjaysskHelpful | Level 6
Any ideas how to catch a Timeout exception for large downloads? I tried using Try/Catch but it is not raised.
Update: I tried this code but it doesn't cause a timeout.
var expirationTimeTask = Task.Delay(TimeSpan.FromSeconds(30)); var strm = response.GetContentAsStreamAsync(); var finishedTask = await Task.WhenAny(expirationTimeTask, strm); if (finishedTask == expirationTimeTask) { //timeout error processing (does not get here) }
- sanjaysskHelpful | Level 6
Oops. On debugging, I found that it is stuck at CopyTo and that takes a long time and times out. So does the actual download occur on "CopyTo"?
Update: Was above to solve this by studying the Asp.net samples on:
- yasirjaseemNew member | Level 2
How to call it on windows/desktop application to download file.
- Greg-DBDropbox Staff
yasirjaseem We recommend using the official Dropbox .NET SDK. There's an example of downloading files here. If something isn't working as expected for you, open a new thread with details.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,910 PostsLatest Activity: 3 days 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!