English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Librerie Componenti
  • Shell

Upload File

procedura copia link

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
Questa procedura può servire, per esempio, per inviare un'immagine ad un server affinché quest'ultimo la carichi su database. Se eseguita in background, al termine dell'invio, la shell nativa avvisa l'applicazione offline notificando l'evento OnFileUploaded. In questo caso particolare il parametro Command dell'evento viene valorizzato al valore "UPLOAD". Se l'invio non ha avuto successo il valore del parametro Size dell'evento è -1 altrimenti il valore del parametro Size rappresenta la dimensione in byte del file inviato dalla shell.

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)
}
  • 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

Vedi Anche

  • On File Uploaded (evento)
  • Download File (procedura)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum