Steve
Steve

Reputation: 3095

How do you remove / delete a remote FTP file using cfscript?

My script is working so far to open a remote FTP connection, change directory, and download a file. My last two steps would be to delete the remove file once it's fully downloaded and then close the connection. ACF documentation (and cfdocs) seems to have very little information on this. Here's what I have so far:

ftpConnection = ftpService.open(
  action = 'open', 
  connection = variables.ftpConnectionName, 
  server = variables.ftpServerName, 
  username = '***************', 
  password = '***************', 
  secure='true');

if( ftpConnection.getPrefix().succeeded ){
    fileList = ftpService.listdir(directory = variables.ftpPath, connection= variables.ftpConnectionName, name='pendingFiles', stopOnError='true').getResult();
      if( fileList.recordCount ){
        changeFtpConnectionDir = ftpService.changeDir(
        connection = variables.ftpConnectionName,
        directory = variables.ftpPath);


      getFtpConnection = ftpService.getFile(
        connection = variables.ftpConnectionName,
        remoteFile = fileList.name,
        localFile = local.localPath & fileList.name,
        failIfExists = false,
        timeout = 3000
      );

      deleteRemoteFile = ftpService.remove(
        connection = variables.ftpConnectionName,
        remoteFile = fileList.name
      };

      closeFtp = ftpService.close(
          connection = variables.ftpConnectionName
      );

   };
};

Error is thrown on the remoteFile = fileList.name. Since I already changed directory I don't think I need to put the full path here.

I put the entire script up since there doesn't seem to be many resources out there about using the newer ftpServer() functions.

Upvotes: 3

Views: 294

Answers (1)

Steve
Steve

Reputation: 3095

D'oh - my issue was a typo:

deleteRemoteFile = ftpService.remove(
    connection = variables.ftpConnectionName,
    remoteFile = fileList.name
  );// had } instead of )

I'll still leave this up as a resource for ftpService()

Upvotes: 4

Related Questions