Technology moves fast! ⚡ Don't get left behind.🚶 Subscribe to our mailing list to keep up with latest and greatest in open source projects! 🏆

Subscribe to our mailing list


Example for dragging files from the desktop to any CPView in a Cappuccino app running in a browser.

Subscribe to updates I use deepDropUpload

Statistics on deepDropUpload

Number of watchers on Github 62
Number of open issues 1
Average time to close an issue 4 days
Main language Objective-J
Open pull requests 0+
Closed pull requests 0+
Last commit over 8 years ago
Repo Created about 9 years ago
Repo Last Updated over 1 year ago
Size 1.11 MB
Homepage http://davidcann....
Organization / Authordavidcann
Page Updated
Do you use deepDropUpload? Leave a review!
View deepDropUpload activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating deepDropUpload for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Deep Drop Upload


These classes allow you to turn any CPView in a Cappuccino app into a file upload drop zone. It supports multiple files dropped at once. It works in Safari and Chrome. Firefox support is possible, but hasn't been added.

The most useful classes are:

  • DCFileDropController.j
  • DCFileUploadManager.j
  • DCFileUpload.j


Import these classes:

@import "DCFileDropController.j"
@import "DCFileUploadManager.j"

Apply a DCFileDropController to any CPView:

var fileDropUploadController = [[DCFileDropController alloc] 
    uploadURL:[CPURL URLWithString:@"upload.php"] 
    uploadManager:[DCFileUploadManager sharedManager]];

If you want to change visual state of the view, you can do that with this dropDelegate method:

- (void)fileDropUploadController:(DCFileDropController)theController setState:(BOOL)visible {
    if (visible) {
        [theController.view setBackgroundColor:[CPColor colorWithRed:0.0 green:0.0 blue:1.0 alpha:0.2]];
    } else {
        [theController.view setBackgroundColor:[CPColor clearColor]];

If you want to display progress, you can set the DCFileUploadManager delegate:

[[DCFileUploadManager sharedManager] setDelegate:uploadsPanel];

And process it with this method:

- (void)fileUploadManagerDidChange:(DCFileUploadManager)theManager {
    var fileUploads = [theManager fileUploads];


This technique is based on code from CSS Ninja.


MIT License

deepDropUpload open issues Ask a question     (View All Issues)
  • over 8 years Error typing in DCFileDropController.j
deepDropUpload list of languages used
Other projects in Objective-J