FileUpload

TwinCAT TIA
Netzwerk REST Client ActiveClients Ein Client

ns=2;s=DEPRAG Smart/Network/HTTP/REST/ActiveClients/0/FileUpload

Lädt eine Datei an den angebenden Endpunkt hoch.

Parameter:

    RequestUri
    Die URI an der die Datei hochgeladen werden soll.
    Content
    Datei, die im HTTP-Befehl übergeben wird.

Rückgabewert:

    FileUpload
    Eine Variable vom Typ OpcMethodReturnValueHttpResultWithStringContent. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Eine Variable vom Typ HttpResultWithStringContent.
        Success
        Gibt an, ob der HTTP-Befehl erfolgreich abgeschossen wurde.

Beispiele:

Neben den bereits erläuterten Parametern sind für die Implementierung in TwinCAT 3 nachfolgende Variablen anzulegen / zu übergeben:

Beckhoff Parameter:

    bHttpFileUpload
    Eine boolesche Variable, über welche die Ausführung des FileUpload-Befehls getriggert werden kann.
    OutputDataHttpFileUpload
    Eine Instanz der ST_HttpResultWithStringContentOutputData Struktur, in welche der Rückgabewert der FileUpload-Methode geschrieben wird.
    hrHttpFileUpload
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ HRESULT.
    fbHttpRest
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_HttpRest" Funktionsbausteins.
    sRequestUri
    Eine String(255)-Variable, welche den Endpunkt spezifiziert, an welchen der Befehl gesendet werden soll.
    Content
    Eine Variable vom Typ "ARRAY[*] OF BYTE", welche die zu sendenden Daten enthält.
    nContentLength
    Eine UINT-Variable, welche die Länge der zu sendenden Daten spezifiziert.
    sClientId
    Eine String(255)-Variable, welche den Client spezifiziert, der den Befehl ausführen soll.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
   bHttpFileUpload    : BOOL;
   OutputDataHttpFileUpload : ST_HttpResultWithStringContentOutputData;
   hrHttpFileUpload   : HRESULT;
   testLongByteArray : ARRAY[1..1000] OF BYTE := [84, 101, 115, 116, 255, 84, 101, 115, 255];
   fbHttpRest   : FB_HttpRest;
END_VAR

hrHttpFileUpload := fbHttpRest.FileUpload(
         bExecute   := bHttpFileUpload, 
         ConnectionHandle:= depragSmartConnection.ConnectionHandle,
         sRequestUri  := '/testFileUpload',
         Content   := testLongByteArray,
         nContentLength := 9,
         sClientId   := '0',
         OutputData  => OutputDataHttpFileUpload);
IF hrHttpFileUpload <> S_FALSE THEN 
    bHttpFileUpload := FALSE;
END_IF
                                                    

Für Beispiele und Erklärungen bezüglich der Aufrufe von Knoten via Siemens TIA Portal sei an dieser Stelle auf den Unterpunkt "Siemens TIA Portal" in Abschnitt "Erste Schritte" verwiesen.