Forum Discussion

808phone's avatar
808phone
Explorer | Level 4
8 years ago

Folders with lots of files failing

When I call listFolder like in the example code, *response is often nil.

This only happens with large numbers of files (over 1800, with some people 3000+ files).

 

DBFILESListFolderResult *response is nil.

 

This is a problem for my app.

 

 

[[client.filesRoutes listFolder:@"/test/path/in/Dropbox/account"]
    setResponseBlock:^(DBFILESListFolderResult *response, DBFILESListFolderError *routeError, DBRequestError *networkError) {
      if (response) {
        NSArray<DBFILESMetadata *> *entries = response.entries;
        NSString *cursor = response.cursor;
        BOOL hasMore = [response.hasMore boolValue];

        [self printEntries:entries];

        if (hasMore) {
          NSLog(@"Folder is large enough where we need to call `listFolderContinue:`");

          [self listFolderContinueWithClient:client cursor:cursor];
        } else {
          NSLog(@"List folder complete.");
        }
      } else {
        NSLog(@"%@\n%@\n", routeError, networkError);
      }
    }];
listFolder

 

  • 808phone's avatar
    808phone
    Explorer | Level 4

    So the problem is that I created 2 different calls. One for folders only and another for files. Apparently if there are enough files and it takes long enough, having the 2 calls at the same time will cause problems. I guess they cannot run concurrently without something happening. If I use just one routine, it works but is considerably slower than V1 I think.

    • Greg-DB's avatar
      Greg-DB
      Icon for Dropbox Staff rankDropbox Staff
      If response is nil, make sure you check the routeError and networkError. One of them should contain an error message.

      In any case, yes, you shouldn't make multiple concurrent listFolder[Continue] calls. A single listFolder[Continue] loop will return both files and folders under the requested path.
      • 808phone's avatar
        808phone
        Explorer | Level 4

        Greg,

         

        The routine is much slower than V1 as well. The callback takes much longer. Is there going to be any improvement on this?

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.5,947 PostsLatest Activity: 4 hours ago
351 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!