Загрузить файл на SFTP-сервер с другим расширением

Я просмотрел много сообщений на Stack Overflow, но не нашел того, что мне было нужно.

У меня есть файл предположим temp.csv

Я хочу загрузить этот файл на SFTP-сервер, который работает нормально.

Мне нужно сохранить этот файл с другим расширением, например temp.csv.ready

Не могли бы вы предложить что-нибудь по этому поводу.

Вот код, который я попробовал и работает нормально. Но я не могу изменить расширение файла.

SessionOptions sessionOptions = new SessionOptions
{
    Protocol = Protocol.Sftp,
    HostName = System.Configuration.ConfigurationManager.AppSettings["puthost"].ToString(),
    UserName = System.Configuration.ConfigurationManager.AppSettings["putusername"].ToString(),
    Password = System.Configuration.ConfigurationManager.AppSettings["putpassword"].ToString(),
    PortNumber = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["putport"].ToString()),
    SshHostKeyFingerprint = ... //followed by your 16 bit key 
};
using (Session session = new Session())
{
    session.SessionLogPath = "log.txt";
    session.Open(sessionOptions); //Attempts to connect to your sFtp site
    //Get Ftp File
    TransferOptions transferOptions = new TransferOptions();
    transferOptions.TransferMode = TransferMode.Binary; //The Transfer Mode - 
    //<em style="font-size: 9pt;">Automatic, Binary, or Ascii  
    transferOptions.FilePermissions = null; //Permissions applied to remote files; 
    //null for default permissions.  Can set user, 
    //Group, or other Read/Write/Execute permissions. 
    transferOptions.PreserveTimestamp = false; //Set last write time of 
    //destination file to that of source file - basically change the timestamp 
    //to match destination and source files.   
    transferOptions.ResumeSupport.State = TransferResumeSupportState.Off;
    WinSCP.TransferOperationResult transferResult;
    //the parameter list is: local Path, Remote Path, Delete source file?, transfer Options  
    transferResult = session.PutFiles(@System.Configuration.ConfigurationManager.AppSettings["sendfilesource"].ToString(), System.Configuration.ConfigurationManager.AppSettings["sendfiletarget"].ToString(), false, transferOptions);
}

person Ameya Deshpande    schedule 12.02.2017    source источник


Ответы (2)


Аргумент remotePath метода Session.PutFiles:

Полный путь для загрузки файла.

Итак, все, что вам нужно сделать, это указать полный путь, например:

/remote/path/temp.csv.ready
person Martin Prikryl    schedule 12.02.2017