Scopo
Chiede alla shell nativa di inviare un file, presente sul dispositivo, ad un server identificato tramite un URL. Tale operazione può essere:
- asincrona: la procedura ritorna subito mentre la shell nativa invia il file in background
- sincrona: la procedura ritorna solo quando la shell nativa ha terminato l'invio del file
Il file viene inviato in POST al server web e la shell aggiunge automaticamente all'URL fornito la stringa "?WCI=IWFiles". Le applicazioni web tradizionali (C# e Java) sviluppate con Instant Developer riconoscono automaticamente quella query string, salvano il file su disco e notificano l'evento OnFileUploaded del server.
Riassumendo la chiamata alla procedura UploadFile:
- avvia la procedura di invio del file in POST ad un server web
- al termine della procedura di invio notifica l'evento OnFileUploaded all'applicazione offline per avvisarla dell'esito dell'invio; in questo caso il parametro Command vale "UPLOAD"
- se l'applicazione server è stata sviluppata con In.de, il file viene salvato su disco e viene notificato anche nell'applicazione server l'evento OnFileUploaded per permettere al server di "acquisire" il file.
Sintassi
Shell.uploadFile(Filename, Url, Async)
Argomenti
Filename | è un parametro stringa che rappresenta il path assoluto del file che occorre inviare al sito web |
Url | è un parametro stringa che indica l'URL dell'applicazione web a cui inviare il file |
Async | è un parametro booleano opzionale che indica al sistema se l'operazione di invio del file deve essere asincrona (ovvero la procedura ritorna subito mentre la shell nativa invia il file in background) o sincrona (ovvero la procedura ritorna solo quando il file è stato completamente inviato). Se il parametro non viene specificato il valore predefinito è True (operazione asincrona). |
Esempio di codice
// ****************************
// Invio il mio file al server
// ****************************
public void Videata.InviaFile()
{
// Invio fil file in back ground
Shell.uploadFile(path() + "/dati.txt", "http://www.progamma.com/appServer.aspx", True)
}
// Invio il mio file al server
// ****************************
public void Videata.InviaFile()
{
// Invio fil file in back ground
Shell.uploadFile(path() + "/dati.txt", "http://www.progamma.com/appServer.aspx", True)
}
- Questa procedura è statica.
- La shell nativa identifica come "operazione avvenuta con successo" una risposta del server che inizi con il testo "OK". Le applicazioni web sviluppate con In.de quando ricevono file tramite la chiamata con query string "?WCI=IWFiles" rispondono automaticamente con "OK" al client se non vengono generate eccezioni nell'evento OnFileUploaded. Pertanto se si desidera informare il client che c'è stato un problema è sufficiente utilizzare l'istruzione THROW all'interno dell'evento OnFileUploaded per far sì che il server non risponda con "OK".
Ultima modifica: 10/01/2023 / Validità: da 11.1.4900