Table Of Contents

Transferring Files from Memory to the Server

Last Modified: November 7, 2019

Send files stored in memory from a client to the server to save, process, or enable access for others.

What to Use

You can find the SystemLink File Transfer and Configuration APIs on the Data Communication palette in LabVIEW 2016 or later.

What to Do

On the client, create the following diagram in a VI to send files from memory to the server.

Customize the gray sections for your unique programming goals.

Open Configuration initiates a connection with the file service on the SystemLink server.
spd-note-note
Note  

SystemLink Server supports both HTTP and AMQP configurations. SystemLink Cloud only supports an HTTP configuration.

Create generates a writable file on the file service using the name and properties you specify.

Within the For Loop, Send Packet transmits the file's data in packets to the file service. LabVIEW automatically numbers the packets zero-indexed sequential integers. The file service will use the packet numbering to sequentially write the packets to disk on the server after it receives the final packet.

Send Last Packet transmits the last packet of data to the file service. After receiving the final packet, the file service sequentially writes the packets to disk on the server. After Send Last Packet transmits the last packet of data, the file is no longer writable. Therefore, you cannot send additional packets of the file to the file service.
Close invalidates and closes all open references.

Troubleshooting

  • If your client disconnects during a file transfer, you need to abort the file transfer and wait for the server to automatically delete the partial file transfer. After the server deletes the partial file transfer, initiate a new file transfer.
    spd-note-note
    Note  

    If a partial file transfer does not progress within an hour, the server automatically treats it as an abandoned transfer and deletes it.

  • If your system has unreliable network connections or slow transfer rates, you may need to adjust the packet size for the file transfer. Decrease the packet size input of Send Packet to a smaller number to prevent timeouts.
    spd-note-note
    Note  

    A smaller packet size means more packets are sent, which increases the total time required to transfer the file because more roundtrips must occur between the server and client.

  • If your file transfer times out because your file is large or from memory, use Send Packet to send different packet sizes during the file transfer and to manage when to transfer a packet.
  • If no data is available to send within the one-hour timeout period for file transfers, use Send Packet to send a zero-byte packet to keep the file transfer active.

Examples

Search within the programming environment to access the following installed example:
  • Sync File IO

Recently Viewed Topics