File upload in AOBuilder

Home » AOBuilder » File upload in AOBuilder
AOBuilder Nessun commento

In questo tutorial sono riportati i passi da seguire per l’upload di file in applicazioni CakePHP che utilizzano AOBuilder. Nel caso specifico, si utilizza la libreria \Builder\Lib\Filesystem, che predeve che i file siano archiviati all’interno della directory /webroot/uploads/, dove gli stessi saranno organizzati in ulteriori due sotto directory anno/mese, es. /2017/01 per i file archiviati a gennaio 2017. E’ necessario procedere alla modifica del Controller e dei Templates, il codice illustrato di seguito si riferisce ad una tabella denominata BANDO_DOCUMENTO.

Modifica al Controller

Viene di seguito riportata la porzione di codice relativa alle funzioni di creazione e modifica, che prevedono l’integrazione della libreria \Builder\Lib\Filesystem.

Modifica dei Templates

Sono di seguito illustrate le modifiche ai templates, partendo dal codice generato attraverso il Bake.

Modifiche Template Add

Oltre alla modifica del campo FILE, è importante che la form sia di tipo file, per consentire il trasferimento dell’allegato attraverso l’http.

Di seguito come si presenta il template di inserimento file.

form-inserimento-allegato-in-ajax

Modifiche Template Edit

Oltre alla modifica del campo FILE, è importante che la form sia di tipo file, per consentire il trasferimento dell’allegato attraverso l’http.

Il template della form di modifica si presenterà in identica a quella di inserimento.

Modifiche al Template Index

Viene riportata solo la porzione di codice relativa alle righe dei dati, in particolare, da notare come la colonna relativa all’allegato viene trasformata in un link con il link al file e riportante nel nome il path relativo del file.

Ecco come si presenta il template dopo la modifica.

form-inserimento-allegato

 

Conclusioni

Nel tutorial è illustrata una soluzione rapida e funzionale per l’upolad del file in AOBuilder, alla quale possono essere effettuate tante altre personalizzazioni. Per approfondimenti è possibile visionare la libreria su https://github.com/aoliverio/builder/blob/master/src/Lib/Filesystem.php

LEAVE A COMMENT