Post a reply

Before posting, please read how to report bug or request support effectively.

Bug reports without an attached log file are usually useless.

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

J22

Solved. The firewall blocked the transfer
J22

Cannot upload files using C#

I guess I did everything as mentioned here https://winscp.net/eng/docs/library_install
By default it looks for the winscp.exe in the same folder, where the assembly is stored. For that reason, you should extract the package into the same folder, where you have WinSCP installed/extracted. You can also copy all binaries, winscp.exe and winscpnet.dll, into separate folder.

My code:
FtpMode mode = passiveMode ? FtpMode.Passive : FtpMode.Active;
SessionOptions sessionOptions = new SessionOptions
{
    Protocol = Protocol.Ftp,
    HostName = hostname,
    UserName = ftpUsername,
    Password = ftpPassword,
    FtpMode = mode,
    Timeout = new TimeSpan(0, 5, 0)
};
using (Session session = new Session())
{
    session.ReconnectTime = new TimeSpan(0, 2, 0);
    string mainDir = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
    string logPath = Path.Combine(mainDir, "ftp.log");
    string xmlLogPath = Path.Combine(mainDir, "ftp.xml");
    session.DebugLogPath = logPath;
    session.XmlLogPath = xmlLogPath;
    session.Open(sessionOptions);
 
 
    TransferOptions transferOptions = new TransferOptions();
    transferOptions.TransferMode = TransferMode.Binary;
 
    TransferOperationResult transferResult;
 
    transferResult = session.PutFiles(file, destFileName, false, transferOptions);
 
    transferResult.Check();
...


Only when there IS an application WinSCP.exe in the directory, the code doesn't work: there is one of these two errors thrown
1) Configured temporary file D:\Export\ftp.xml already exists
2) Error transferring file 'C:\Windows\TEMP\tmpEC19.tmp'.
Without the app in the directory everything works fine.

Thanks in advance for help.