Condizioni di notifica
Evento notificato dal pannello prima di effettuare la registrazione nel database di un blob appena caricato dall'utente, oppure prima della cancellazione del file dal blob. Questo può avvenire se:
- L'utente esegue l'upload di un file in un campo blob di un pannello.
- L'utente clicca sul pulsante di cancellazione documento nella toolbar del campo di pannello che contiene il blob.
Utilizzo consigliato
L'evento di Before BLOB Update può essere utilizzato per controllare il processo di salvataggio o di cancellazione del file nel blob. Ad esempio potrebbe essere utilizzato per verificare se il blob ha le caratteristiche per essere caricato oppure cancellato, ed eventualmente cancellare l'operazione.
Argomenti
Cancel | Impostando il parametro a True, il file non verrà caricato o cancellato. |
Column | E' un numero intero che identifica il campo del pannello nel quale si sta caricando il file. Deve essere confrontato con la proprietà Me dei campi del pannello. |
Size | E' la dimensione del file caricato espressa in byte; in caso di cancellazione vale -1. In questo modo è possibile verificare quale operazione è in corso sul campo blob. |
Extension | Stringa che contiene l'estensione del file in fase di caricamento. Ad esempio "doc" per un file di Word. |
FilePath | Stringa che contiene il nome del file caricato sul server completo di estensione. Tale file viene memorizzato nella sottodirectory TEMP della web application. |
Esempio di codice
// *****************************************************
// Fired before a blob is updated or deleted (size = -1)
// *****************************************************
event Categorie.Categorie.BeforeBLOBUpdate(
inout boolean Cancel // When set to TRUE, abort operation
int Column //
int Size // Size of the new blob (-1 if deleted)
string Extension // File extension of the new blob
string FilePath //
)
{
// Non voglio che si cancelli l'immagine caricata!
if Size = C-1 AND Column = Categorie.Immagine.Me()
{
Categorie.SetInfoMessage(MSG Cancellare Immagine, ??, ??)
Cancel := True
}
}
// Fired before a blob is updated or deleted (size = -1)
// *****************************************************
event Categorie.Categorie.BeforeBLOBUpdate(
inout boolean Cancel // When set to TRUE, abort operation
int Column //
int Size // Size of the new blob (-1 if deleted)
string Extension // File extension of the new blob
string FilePath //
)
{
// Non voglio che si cancelli l'immagine caricata!
if Size = C-1 AND Column = Categorie.Immagine.Me()
{
Categorie.SetInfoMessage(MSG Cancellare Immagine, ??, ??)
Cancel := True
}
}
- E' possibile utilizzare questo evento per memorizzare in altri campi della riga il nome e la dimensione del file.
- Conoscendo l'estensione è possibile trattare il file nel modo voluto. Ad esempio se il file è un immagine, è possibile ridimensionarla.
- Attenzione: all'interno di questo evento non utilizzare funzioni che modificano il set di dati del pannello come la RefreshQuery o l'UpdateData.
- Usando questo evento è possibile processare subito il file. Se si vuole evitare di caricarlo nel database si può impostare il parametro Cancel a True.
- Il percorso completo del file caricato si ottiene tramite l'espressione:
PathCompleto := Path() +c /temp/ +c FilePath
Ultima modifica: 25/10/2016 / Validità: da 6.5.2680