Your workflow is unique 👨💻 - tell us how you use Dropbox here.
Forum Discussion
Steve L.32
8 years agoExplorer | Level 4
API V2 analogue of canceFileLoad and cancelFileUpload
In my iOS app using Dropbox API V1 I cancel file uploads and downloads using code similar to this:
[self.restClient canceFileLoad:dBox.cloudURLDropbox];
What is the corressponding V2 method call ... I've spent some time looking throught the docs and for the life of me I cannot see what to do!
Thanks,
Steve
You can save the task returned by the download/upload call, and then call cancel on it:
DBDownloadDataTask *downloadTask = [[client.filesRoutes downloadData:filePath] setResponseBlock:^(DBFILESFileMetadata *metadata, DBFILESDownloadError *downloadError, DBRequestError *error, NSData *fileData) { // ... }]; // ... [downloadTask cancel];Hope this helps!
7 Replies
Replies have been turned off for this discussion
- Greg-DB8 years ago
Dropbox Community Moderator
You can save the task returned by the download/upload call, and then call cancel on it:
DBDownloadDataTask *downloadTask = [[client.filesRoutes downloadData:filePath] setResponseBlock:^(DBFILESFileMetadata *metadata, DBFILESDownloadError *downloadError, DBRequestError *error, NSData *fileData) { // ... }]; // ... [downloadTask cancel];Hope this helps!
- Steve L.328 years agoExplorer | Level 4
Thank you Greg, perfecto! I can cancel uploads and downloads on the iOS simulator. But when I try to run my App on a real device (iPhone 7) I get a dynlib error similar to what happens when archiving the macOS version of my App ): I am again using the Xcode subproject method.
So I am stuck again ...
Thanks,
Steve
- Steve L.328 years agoExplorer | Level 4
Hmmm. After hours of hacking I tried adding the framework an an embedded binary, and lo and behold the App now runs on a device:
That seems to give me TWO instances of Linked Frameworks now. In the DB docs, for method #3 Xcode subprojects the instructions are very specific:
1) for iOS add the framework as a Linked Framework only.
2) for macOS add the framework as an Embedded Binary only.
I am confused :)
In any case I am prepared to mark this particular question concerning canceling up/down-loads from Objective-C as answered, leaving aside the unanswered linking questions/problems. As an aside I will note that I can also better read the full Objective-C V2 API docs thanks to you. It was, as they say, hard for me to see the forest for the trees.
Thanks!
- Greg-DB8 years ago
Dropbox Community Moderator
Thanks! I'm glad to hear you got that working.
I'll still have engineering investigate this to figure out what's causing that though. - Giordano588 years agoExplorer | Level 3
Hi Steve and Greg,
I already use this feature and it works but I have a further question.
Suppose I have to upload a file of 1 MB. I start the upload but after 1-2 secs I stop the upload. It works but in the while some bytes have been uploaded and I want to remove them. Is there a way to automatically remove the uploaded bytes or I have to remove them by myself after I stopped the upload?
Many thanks and regards,
Giordano
- Greg-DB8 years ago
Dropbox Community Moderator
Giordano58 If you cancel the upload before it completes, the partial data is never "committed" and you don't need to do anything to remove it.
- Giordano588 years agoExplorer | Level 3
Yes, ok.
Making use of the following method to upload file
[userClient.filesRoutes uploadUrl:pathToSave inputUrl:db]
I have solved also this problem.
Thanks and regards,
Giordano
About Dropbox API Support and Feedback
Get help with the Dropbox API from fellow developers and experts.
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
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, Facebook or Instagram.
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!