Take Your Search Game to the Next Level with Dropbox Dash  🚀✨ Curious how it works? Ask us here! 

Forum Discussion

senthilnathan205's avatar
senthilnathan205
Explorer | Level 3
3 years ago

How to upload file from external dll vb project

Hi sir,

      I use the Dropbox.Api dll in my own dll that i create. i use the dll in my other project to upload files in dropbox i pass token key. dropbox folder path, local file path. i use the function Files.UploadAsync(), i got exception like this "An error occurred while sending the request." and also have stack trace like this

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Dropbox.Api.DropboxRequestHandler.<RequestJsonString>d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Dropbox.Api.DropboxRequestHandler.<RequestJsonStringWithRetry>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Dropbox.Api.DropboxRequestHandler.<Dropbox-Api-Stone-ITransport-SendUploadRequestAsync>d__13`3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at AmberSoftDBPlugin.AmberSoftDB.<UploadFilesToDropBoxAsync>d__0.MoveNext() in D:\AmberSoftDBPlugin\AmberSoftDBPlugin\AmberSoftDB.cs:line 42

 

can u help how to  solve the issue above happen.

        

8 Replies

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Staff rankDropbox Staff

    I'll be happy to help with any issues you're having with the Dropbox API, but I'll need some more information. Please reply with:

    • the name and version number of the platform and SDK/library you are using, if any
    • the steps to reproduce the issue, including relevant code snippet(s), but don't include any access or refresh token(s)
    • the full text of any error or unexpected output (the output you shared here doesn't seem to show the full error message from the Dropbox API/SDK)
    • senthilnathan205's avatar
      senthilnathan205
      Explorer | Level 3

      hi sir,

               thanks for ur reply

       

      the version i used for dropbox api 6.25  for one 

       

       

      for two below code

       

      var dpClinet = new Dropbox.Api.DropboxClient(TokenKey);
      try
      {
      UploadArg uploadArg = new UploadArg(folder, WriteMode.Overwrite.Instance, true);
      using (var mem = new MemoryStream(File.ReadAllBytes(fileToUpload)))
      {
      // var mem = new MemoryStream(File.ReadAllBytes(fileToUpload));
      // var updated = await dpClinet.Files.UploadAsync(uploadArg, mem);
      //var updated = await dpClinet.Files.UploadAsync(folder, WriteMode.Overwrite.Instance, body: mem);
      FileMetadata fileMetadata = await dpClinet.Files.UploadAsync(folder, mode: WriteMode.Overwrite.Instance, autorename: false, body: mem);

      }
      }
      catch(Exception ex)
      {
      DoNotify(ex.Message);
      DoNotify(ex.StackTrace);
      }

      for three below errors

       

      An error occurred while sending the request.

       

      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at Dropbox.Api.DropboxRequestHandler.<RequestJsonString>d__20.MoveNext()
      --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at Dropbox.Api.DropboxRequestHandler.<RequestJsonStringWithRetry>d__18.MoveNext()
      --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at Dropbox.Api.DropboxRequestHandler.<Dropbox-Api-Stone-ITransport-SendUploadRequestAsync>d__13`3.MoveNext()
      --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
      at AmberSoftDBPlugin.AmberSoftDB.<UploadFilesToDropBoxAsync>d__0.MoveNext() in D:\AmberSoftDBPlugin\AmberSoftDBPlugin\AmberSoftDB.cs:line 42

      • Здравко's avatar
        Здравко
        Legendary | Level 20

        senthilnathan205 wrote:

        ...

        var dpClinet = new Dropbox.Api.DropboxClient(TokenKey);

        ...


        Hi senthilnathan205,

        At the beginning, one error not directly related to the current issue, but will bring up soon, if let unfixed in advance. In your client initialization you are using access token only. This type of token is with limited validity (at most 4 hours). After that, user will need to relink your application again and again... To avoid such continuous token expiration, you have to initialize you client object with refresh token, access token expiration time, and application key (application secret might be need too depending on selected authentication type) in addition to the access token. If need, change your authentication flow.

         


        senthilnathan205 wrote:

        ...
        FileMetadata fileMetadata = await dpClinet.Files.UploadAsync(folder, mode: WriteMode.Overwrite.Instance, autorename: false, body: mem);

        ...


        Hm...🤔 What's the content of 'folder' passed as 'path' parameter? Take in mind that path has to point to the target file (full path) where the 'body' will be put to, not to the containing folder only! Dropbox can NOT know what's the desired file name, if not pointed explicitly. 😉

        Hope this gives direction.

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.6,001 PostsLatest Activity: 2 hours ago
383 Following

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 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!