English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Librerie Componenti
  • Web Service

Send File

funzione copia link

Scopo

Questa funzione permette di inviare un file al web service. Il web service memorizza il file nel suo file system e ritorna il percorso all'applicazione che ha effettuato l'upload. L'applicazione può quindi effettuare una ulteriore chiamata al webservice passando come parametro il file su cui il webservice deve lavorare.

Sintassi

string RemoteFileName = ""    // Leggo il nome del file salvato in remoto
// 
RemoteFileName := WebService.SendFile(percorso locale)

Argomenti

Percorso locale E' una stringa contenente il percorso completo del file da inviare al Web Service.

Valore di ritorno

Viene ritornata una stringa contenente il percorso remoto in cui il Web Service ha salvato il file. In caso di mancato salvataggio viene ritornata una stringa nulla.

Esempio di codice

// ****************************************************************************
// Carica il file nel BLOB con ID 1 sul web service. Questa funzione viene
// chiamata subito dopo aver salvato il BLOB.
// ****************************************************************************

public void FileRepository.CaricaFile()
{
  boolean presente = 0   // Vero se il file è presente sul disco
  string DaCaricare = "" // File da caricare preso dal BLOB
  // 
  for each row
  {
    select
      ...
    // 
    record TempBLOB
      int ID          // Brief description of field content.
      string TempBLOB // Brief description of field content.
    // 
    DaCaricare := SaveBlobFile(TempBLOB, ??, ??)
  }
  // 
  // Se non c'è il file

  if DaCaricare <> Empty String
  {
    string RemoteFilename = ""      // 
    MyEsempiGLWebService ws = new() // 
    string remotepath = ""          // 
    // 
    EsempiGL.AddTempFile(DaCaricare)
    // 
    // Cerco di aprire il file, se non ci sono errori il file esiste

    try
    {
      int FileN = 0 // 
      // 
      FileN := FreeFile()
      EsempiGL.OpenFileForInput(DaCaricare, FileN)
      EsempiGL.CloseFile(FileN)
      presente := True
      // 
      // Se non ci sono errori fin qui posso procedere

      remotepath := ws.Percorso()
      // 
      // Imposto l'indirizzo di questa istanza del Web Service

      ws.Url := GetSetting(Application, WebServiceUrl)
      // 
      // Carico il file

      RemoteFilename := ws.SendFile(DaCaricare)
      // 
      // Rinomino il file con il nome preso durante il caricamento del BLOB

      ws.RinominaFile(RemoteFilename, remotepath +c this.NomeFile)
      // 
      // Ricarico la lista da WS

      this.CaricaListaDaWS()
    }
    catch  // 
    {
      presente := False
    }
  }
  // 
  // Se il file non c'è do errore all'utente

  if NOT(presente)
  {
    EsempiGL.MessageBox(FormatMessage(Il file |1 non è stato trovato sul
      computer!, ??, ??, ??, ??, ??))
  }
}
  • La funzione SendFile non funziona se il web service non è stato creato con IN:DE.
  • La funzione SendFile non funziona se il web service e l'applicazione che lo utilizza sono sviluppati in linguaggi diversi, per funzionare correttamente quindi devono essere entrambi in C# o entrambi in Java.
  • Inviando un file ad Web Service con la SendFile e scaricandoli con la ReceiveFile, è possibile realizzare un contenitore di file condiviso tra tutte le applicazioni che utilizzano il Web Service, centralizzando i documenti e mantenendone un'unica copia.
  • A partire dalla versione 20.5 la funzione restituisce NULL se l'operazione non è stata autorizzata dal web service tramite l'evento OnFileOperation.

Ultima modifica: 25/09/2024 / Validità: da 6.7.2950

Vedi Anche

  • Save Blob File (funzione)
  • Receive File (funzione)
  • Add Temp File (procedura)
  • Rename File (procedura)
  • Format Message (funzione)
  • On File Operation (evento)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum