Demo
Zipped uploads
This demo zips files and folders upon add them to the upload queue. For each file/folder from a folder being zipped javascript confirm dialog will appear asking whether this file should be added to zip or skipped. When finished zipping file user will be prompted whether file should be removed from queue or not.
Code:<applet id="jumpLoaderApplet" name="jumpLoaderApplet"
code="jmaster.jumploader.app.JumpLoaderApplet.class"
archive="jumploader_z.jar"
width="715"
height="500"
mayscript>
<param name="uc_imageEditorEnabled" value="true"/>
<param name="uc_uploadUrl" value="partitionedUploadHandler.php"/>
<param name="uc_partitionLength" value="500000"/>
<param name="uc_compressionMode" value="zipOnAdd"/>
<param name="uc_zipDirectoriesOnAdd" value="true"/>
<param name="uc_directoriesEnabled" value="true"/>
<param name="uc_zipFileFilterCallback" value="zipFileFilterCallback"/>
<param name="ac_fireUploaderFileStatusChanged" value="true"/>
</applet>
<script>
//
// file/folder being zipped
var zippingFile = null;
function zipFileFilterCallback(file, rootFile, uploadFile) {
//
// check if we started zipping new file
if(zippingFile == null) {
zippingFile = rootFile;
alert("Zipping new file: " + zippingFile.getAbsolutePath() + ",\n uploadFile: " + uploadFile);
}
return confirm("Add file to zip: " + file.getAbsolutePath() + "?");
}
/**
* file status changed notification
*/
function uploaderFileStatusChanged( uploader, file ) {
//
// check if file zipping finished
if(zippingFile != null && file.isReady()) {
//
// ask user if need to remove file
if(confirm("Finished zipping file:" + zippingFile.getAbsolutePath() + ". Remove it?")) {
//
// removal not allowed in a callback
setTimeout("removeFile(" + file.getIndex() + ")");
}
zippingFile = null;
}
}
/**
* remvoe file from uploader
*/
function removeFile(index) {
var uploader = document.jumpLoaderApplet.getUploader();
var file = uploader.getFile(0);
var error = uploader.removeFile(file);
if(error != null) {
alert(error);
}
}
</script>