Skip to content
This repository was archived by the owner on May 25, 2023. It is now read-only.

Upload multiple resolutions of one image with multiple resize options

blueimp edited this page Mar 8, 2012 · 12 revisions
$('#fileupload').fileupload({
    resizeOptions: [
        {resizeMaxWidth: 1280},
        {resizeMaxWidth: 1024},
        {resizeMaxWidth: 800}
    ],
    submit: function (e, data) {
        var $this = $(this),
            originalFile = data.files[0],
            filesToSubmit = [],
            deferred = $.Deferred(),
            promise = deferred.promise();
        $.each(
            $this.fileupload('option', 'resizeOptions') || [],
            function (index, settings) {
                promise = promise.pipe(function () {
                    filesToSubmit.push(data.files[0]);
                    data.files = [originalFile];
                    $.extend(data, settings);
                    return $this.fileupload('resize', data);
                });
            }
        );
        promise.done(function () {
            filesToSubmit.push(data.files[0]);
            data.files = filesToSubmit;
            $this.fileupload('send', data);
        });
        deferred.resolve();
        return false;
    } 
});
Clone this wiki locally