On these weekends we have rolled out Upload Suite 8.5.33. It has a lot of improvements, but one of its most wanted features is Amazon S3 support.
For many of our customers a lack of direct Amazon S3 upload was a showstopper which prevented migration from Java uploader. The situation became really critical, because since early September, Java applets no longer work in Chrome at all. That's why we have worked hard and added this functionality to HTML5 uploader.
Amazon S3 support
Our priority is to make the transition from Java/ActiveX uploader smooth, that's why we have kept the same API as used there. If you ever integrated the Java/ActiveX uploader with Amazon S3, you will find HTML5 uploader integration experience very familiar.
Moreover, we have analyzed your feedback regarding the use of this feature and extended the API. For example, we have added an ability to specify a storage class or send HTTP headers to manage the uploaded data (e.g. to control the caching policy).
We have thought not only about the existing customers but also about the new ones. That's why we have seriously rewritten the Amazon S3 integration tutorial:
By the way, you may wonder if Upload Suite can send files to other services through REST API. The good news is that if the service supports POST requests, the uploader is flexible enough to be able to send files there. It cannot send files through PUT requests yet, but if we get enough requests, we will add this feature as well.
What is about other improvements? If you check out the change log, you will discover that Amazon S3 support is not the only new feature.
High quality image resizing
Java and ActiveX uploaders could resize images with great interpolation algorithms which return really smooth and artifact-free results. Before 8.5.33, HTML5 uploader could use the only resizing option offered by the standard canvas element.
Processing large output dimensions properly
Initially, we had several bug reports from customers who tried ot use the uploader on iOS devices. They reported that it produces "black rectangles" for photos taken on a device, but works well with small images.
Fortunately, we have found a workaround - it turned out to be possible to load images by parts, say, 1000x1000 blocks. The only limitation - you cannot create images exceeding 5 Mpix. In this case you have two choices - the uploader can automatically reduce the output image dimensions or send the original file.
After further research, we have discovered that some browsers have similar limitations as well. For example, Firefox is limited by 32 Mpix. So we have applied the same logic for those browsers as well.
The standard uploader user interface is not always optimal. Sometimes you may prefer to hide it completely and create your own interface, processing the events from the uploader yourself.
Before 8.5.33, you had to play with CSS. However it is not elegant solution at all - when you add files to the uploader, DOM elements for each item is still created (although it is invisible).
To avoid this, we have added an ability to completely hide all panels, including the upload pane. Now you can create a user interface like this:
We are going to add a number of code examples to the next release. Meanwhile, if you are interested to create something like this and need our assistance, feel free to contact us at email@example.com or create a support ticket.
* * *
What's next? The only block of features from Java remained is advaned upload settings like chunk upload, MD5 hash, auto resume, etc. If you are going to upload very large files, you will definitely love the next release.