Skip to main content

Using FTP File as Input Provider

The sample C# code below demonstrates how to fetch a CSV file from a remote FTP server (using third-party library) and loading its content as input provider for the Data List command. Sample agent is attached to this article.

using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using Sequentum.ContentGrabber.Api;
public class Script
   //See help for a definition of DataProviderArguments.
   public static CustomDataStorage ProvideData(DataProviderArguments args)
     var server = "";
     var port = 21;
     var username = "";
     var password = "fLDScD4Ynth0p4OJ6bW6qCxjh";
     var remoteFilePath = "testfolder/testInput.csv";
     var cds = new CustomDataStorage();
     var tempFile = Path.GetTempFileName();
     FluentFTP.FtpClient client = null;
       using (client = new FluentFTP.FtpClient(server, port, username, password))
         // Connect to the server
         // Download file
         if (client.DownloadFile(tempFile, remoteFilePath, true, FluentFTP.FtpVerify.None, null))
           // Load downloaded csv file.
           cds = args.ScriptUtilities.LoadCsvFile(tempFile, true);
           throw new Exception("Failed to download file: " + remoteFilePath);
     catch (Exception ex)
       throw ex;
       // Delete temporary file
       if (File.Exists(tempFile)) File.Delete(tempFile);
       if (client != null) client.Disconnect();
     return cds;

Required third-party library: FluentFTP. Download the DLL into your Agent's "Assembly" folder, and add "FluentFTP.dll" in your Agent's Assembly References. The DLL is already added and set up in the attached sample agent.

  • FTP-Input.scgx(100 KB)


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.