Когда то на локальном ftp сервере у меня работало так:
X++:
WinInet winInet = new WinInet();
int code1;
int code2;
code1 = winInet.internetConnect("192.168.0.10", "den", "den");
if(winInet.ftpSetCurrentDirectory(code1, "ftproot"))
code2 = winInet.ftpPutFile(code1, "c:\\test.txt", "test.txt");
if(code2)
winInet.internetCloseHandle(code1);