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
donaldp
6 years agoCollaborator | Level 9
Getting "Stream does not support seeking" with GetContentAsStreamAsync
Hi, I'm currently using a C#/.NET nuget which works as expected when printing from an embedded resource as a stream. The problem is that it's not working when I try to use a Dropbox stream instea...
- 6 years ago
Well, I got it working! But not with native Dropbox API command, so I'm still itnerested if there's a way to do it with the API.
Courtesy of this SO post https://stackoverflow.com/questions/23626965/this-stream-does-not-support-seek-operations-using-stream I got it working with this code...
string fileToPrint=RootFolder+"Labels/A10697/111Z50066345EXP00001.pdf"; Stream fileStream=await DataService.StreamFile(fileToPrint); MemoryStream ms=new MemoryStream(); fileStream.CopyTo(ms); // then use ms in place of fileStream
If there's a way to get around this with Dropbox API, then let me know and I can try it that way and mark your reply as answer, but if not we can mark this as answer.
donaldp
6 years agoCollaborator | Level 9
Well, I got it working! But not with native Dropbox API command, so I'm still itnerested if there's a way to do it with the API.
Courtesy of this SO post https://stackoverflow.com/questions/23626965/this-stream-does-not-support-seek-operations-using-stream I got it working with this code...
string fileToPrint=RootFolder+"Labels/A10697/111Z50066345EXP00001.pdf"; Stream fileStream=await DataService.StreamFile(fileToPrint); MemoryStream ms=new MemoryStream(); fileStream.CopyTo(ms); // then use ms in place of fileStream
If there's a way to get around this with Dropbox API, then let me know and I can try it that way and mark your reply as answer, but if not we can mark this as answer.
- Greg-DB6 years agoDropbox Staff
I'm glad to hear you already sorted this out, and thanks for sharing your solution!
I don't believe the streams returned for downloads in the Dropbox .NET SDK natively support seeking, but I'll pass this along as a feature request. I can't promise if or when that might be implemented though.
Based on the error, it sounds like whatever you're using the stream with attempts to do some
Seek
ing.The main difference here appears to be that the stream from your
GetManifestResourceStream
call is getting a local resource, whereas the stream from the Dropbox APIDownloadAsync
call is getting a remote resource over the network. From Microsoft'sStream
documentation:network streams have no unified concept of a current position, and therefore typically do not support seeking.
Your workaround appears to work by reading the data off the network stream first and copying it to a memory stream.
- donaldp6 years agoCollaborator | Level 9
Ah ok, that makes sense. Thanks for explaining Greg!
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,884 PostsLatest Activity: 54 minutes 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!