dropUploader¶
Il component dropUploader consente di importare file di qualsiasi estensione all’interno dell’applicativo. Per il caricamento sarà sufficiente trascinare il file sull’area che abbiamo assegnato al dropUploader o cliccare due volte per aprire una finestra da cui individuare il file da caricare. La caratteristica principale che lo differenzia dalla funzione PaletteImporter è la possibilità di poter riuscire a caricare più file insieme contemporaneamente.
Il dropUploader può essere definito come segue:
video.dropUploader(height='168px', width='320px',
uploadPath='site:social/video',
filename='=#FORM.record.id',
background_image="url('https://www.genropy.org/img/placeholder_video.jpg')",
onUploadedMethod=self.uploadVideoPath)
In quest’esempio abbiamo specificato:
un’altezza e una larghezza per l’area di upload
un
uploadPathdove andare a salvare il file da caricareun
filename, ovvero il nome da assegnare al file caricatoun
onUploadedMethod, ovvero un metodo Rpc esterno che scatta una volta caricato il file
In particolare, il metodo Rpc onUploadedMethod può essere utilizzato per modificare il file una volta caricato o per far scattare altre azioni in seguito al caricamento. Per esempio, nel caso precedente, il metodo onUploadedMethod era definito come segue:
@public_method
def uploadVideoPath(self, file_path=None, **kwargs):
videoSn = self.site.storageNode(file_path)
video_url = videoSn.url()
self.setInClientData(value=video_url, path='social_publish.form.record.video_url')
Lo scopo è salvare nel record alcune informazioni relative allo storage node, al path e all’url del video, per renderle disponibili in altri processi.
Parametri:
Nome parametro |
Tipo |
Descrizione |
|---|---|---|
uploadPath |
T |
Il path dove salvare il file oggetto dell’upload (es: uploadPath=”site/video”). Se non specificato sarà «site:uploaded_files» |
filename |
T |
Il nome del file, può essere corrispondente a una variabile (es: filename=”.id”) |
background_ |
T |
È possibile impostare un’immagine di sfondo (_image) o un colore (_colore) per il dropUploader |
height |
T |
Altezza in px |
width |
T |
Larghezza in px |
label |
T |
L’etichetta testuale che precede il dropUploader |
progressBar |
B |
Permette di visualizzare una barra durante il caricamento del file |
ext |
T |
La lista delle estensioni possibili (es: ext=”mp4,mpg,avi”) |
preview |
B |
|
onUploadingMethod |
T |
Metodo hook invocato prima del caricamento del file, può essere utilizzato per modificare il file prima che questo venga uploadato. |
onUploadedMethod |
T |
Metodo hook invocato dopo il caricamento del file, può essere utilizzato per modificare il file dopo l’upload. |
onResult |
T |
Esattamente come in una dataRpc, una callback Javascript eseguita una volta ottenuto un risultato dall’upload del file |
ask |
T |
Permette di chiedere dei parametri da passare al metodo rpc (es: ask = dict(title=”Genera piano conti”, fields=[dict(name=”conto_oneri_id”, …)])) |
_lockScreen |
B |
Se impostato a True la schermata si blocca durante l’esecuzione dell’rpc, rendendo impossibile modificare gli altri elementi |
rpc_ |
T |
Permette di passare specifici parametri al metodo rpc onUploading o onUploaded invocato (es: rpc_pkey=”=#FORM.pkey”) |
Autore della sezione: Davide Paci