<?php class Uploadfile04 extends Page{ public function InitializeComponent() { parent::$PAGE_TITLE = "Tutorial : Upload files on a drop zone with ajax event";
// create upload file $this->uploads = new UploadFile($this);
// Drop zone // See compatible browser list: http://caniuse.com/#feat=fileapi $drop_zone_lbl = new Label("Drop your files in this zone to upload", true); $drop_zone_obj = new WSPObject("<br/><br/><br/><br/>", $drop_zone_lbl); $drop_zone_obj->setId("drop_zone_id_4"); $drop_zone_obj->setWidth(400)->setHeight(150); $drop_zone_obj->setAlign(WSPObject::ALIGN_CENTER); $drop_zone_obj->setStyle("border: 1px dashed #BBBBBB;"); $this->uploads->setObjectDropZone($drop_zone_obj);
// define the event method $this->uploads->setAjaxEvent(); $this->uploads->onChange("onUploads");
$this->render = $this->uploads; }
public function onUploads($sender) { // check the files are correctly uploaded for ($i = 0 ; $i < $this->uploads->count(); $i++) { if ($this->uploads->checkMimeType($i) && $this->uploads->checkFileSize($i)) { alert("File ".$this->uploads->getFileName($i)." (". $this->uploads->getFileSize($i).") uploaded !"); } else if ($this->uploads->isEmptyFile($i)) { alert("Your file ".$this->uploads->getFileName($i)." is empty !"); } else if (!$this->uploads->checkFileSize($i)) { alert("Your file ".$this->uploads->getFileName($i)." is too big !"); } else { alert("Mime type ".$this->uploads->getFileMimeType($i). " of the file ".$this->uploads->getFileName($i). " is not supported !"); } } } } ?>