Uploader un ou plusieurs fichiers

Publié le : 18-12-2018 19:12

Comportement : Envoyer un ou plusieurs fichiers au serveur

Balise(s) acceptée(s) : form

Nécessite(s) : La balise form doit contenir une balise descendante input de type file

Méthode(s) : Set_Files()

Fonctionnement(s) :

A la fin du processus il est possible de recharger des zones.

Code JS :

var module = 'Project';
var method = 'upload_files_project';				

Set_Files(module,method,$('#form_files_upload'));

Code serveur dans le module :

static function Set_Images($in_Params,$in_D,$in_C,$in_U){
	try
	{
		$Folder = XEle\XPATH::Get_Node_Data($in_Params,"//params/target_folder");

		foreach($_FILES["files"]["tmp_name"] as $key=>$tmp_name){
			$O_File = new Fi\F_Upload($tmp_name,$_FILES["files"]["name"][$key],$Folder);

            //Ajouter l'extension du fichier et compresser le fichier lors de l'upload
			$O_File->File_Upload(true,true);
			unset($O_File);
		}
 
        //Recharger la zone principale
		$Area_1 = new \Area_Reload('#Area_Body','Editeur_Page','Admin_Images');
		$Rsp = new \Response_Server("Upload terminé", array($Area_1));
		return $Rsp->Get_Response();
	}
	catch(Exception $e){
		throw $e;
	}
	finally {

	}
}

Exemple(s) pratique :

<form id="form_upload" enctype="multipart/form-data" method="post">						
	<div class="btn_upload">
		<input id="upload_file" name="files[]" multiple="" size="5" type="file" data-type='files' />
	</div>

	<div class="btn_upload">
		<button type="submit"  onclick="Set_Files('Project','upload_files_project',$(this).parent().parent()); return false;">
		Upload
		</button>
	</div>
</form>