Java File Upload Applet


Scaled images upload (demo)

(since 2.5)

This mechanism allows uploading multiple scaled instances of original image. Following parameters should be used manage this feature:

Sample image scaled using different methods:

bilinear fast lanczos smooth
bilinear fast lanczos smooth

Scaled image watermarking

(since 2.8.9)

This is an extension of "scaled images upload" feature.
In order to apply watermarks to scaled images, use
parameter to specify watermark names for scaled instances, use "null" to specify that
watermark should not be applied for specified instance or arbitrary name for watewrmark, for example:


Every name specified in parameter value must be parameter name for watermark properties, for example:

<param name="mediumWm" value="halign=center;valign=middle;opacityPercent=20;imageUrl=wmMedium.png"/>

Parameter value is ";" separated list of key=value pairs, keys are:
- halign: horizontal alignment (left/center/right)
- valign: vertical alignment (top/middle/bottom)
- opacityPercent: opacity 0 (transparent)..100 (opaque)
- imageUrl: image URL (absolute or relative to document base)

Original image metadata writing to scaled image

(since 2.14.0)

scaledInstancePreserveMetadata ("false" by default) parameter allows writing original image metadata (EXIF, IPTC) to scaled image. Value should be comma separated boolean value(s) (true, false), one per scaled instance. If number of tokens is smaller than number of scaled instances, last token used for missed entries. For example, if scaledInstanceNames="small,medium,large" and scaledInstancePreserveMetadata="true", metadata will be written to all the scaled images.

Metadata writing feature powered by Sanselan. It is necessary to specify additional sanselan_z.jar for applet tag:

<applet id="jumpLoaderApplet" name="jumpLoaderApplet"

sanselan_z.jar available in the download section.

Large image scaling

(since 2.14.0)

Since applet limited in system memory consumption (generally about 100M), jumploader may fail to load large images for scaling. There are options to prevent such a failure:

  1. Subsampling — load image each N'th pixel, if it is too big. This feature is controlled by UploaderConfig.imageSubsamplingFactor parameter (default=7) — subsampling (S) (for both x and y axis) calculated with formula S = 1 + MPX / SF, where MPX is number of image megapixels (rounded). Read here about image subsampling: http://java.sun.com/j2se/1.4.2/docs/api/javax/imageio/IIOParam.html#setSourceSubsampling(int, int, int, int)
    However it's downside is that it only works when the image is scaled down to at least 50% of its length and width (which is the default case in most of the time with high-res pictures). For example, if original image is 3000x3000 (9Mpx), then subsampling factor for that would be 1+9/7=2, so loaded image would be 1500x1500. And if scaled image box is, lets say, 2000x2000, resoult image would be 1500x1500 (if not stretched)
  2. Scale regions — load image by regions and scale each region to target image. This feature controlled by parameters:
    UploaderConfig.imageLoadPixelsMax — the maximum size of image (pixels) to load (default=7000000). If image is larger, this would be scaled by regions.
    UploaderConfig.regionPixelsMax — the maximum size (pixels) of region to use for image scaling by regions (default=3000000).