BOOL uploadFile(char *filename, char *destination_name, char *address, char *username, char *password)
{
BOOL t = false;
HINTERNET hint, hftp;
hint = InternetOpen("FTP", INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, INTERNET_FLAG_ASYNC);
hftp = InternetConnect(hint, address, INTERNET_DEFAULT_FTP_PORT, username, password, INTERNET_SERVICE_FTP, 0 , 0);
t = FtpPutFile(hftp, filename, destination_name, FTP_TRANSFER_TYPE_BINARY, 0);
InternetCloseHandle(hftp);
InternetCloseHandle(hint);
return t;
}
这是我上传文件到服务器的函数,它写得好吗? ,我使用的功能Ftp文件上传
uploadFile(workFullPath,extractFilename(workFullPath),"address","login","password");
但我的文件并没有出现在FTP。
您测试没有成功的返回值。很难说出了什么地方出了问题或者没有检查结果。 – user4581301
我在做GetlastError,但是这个返回值非常大,随机值很多,这很奇怪 –
'GetLastError'是正确的东西,但它只在第一个错误后才真正有用。之后,克罗姆只知道发生了什么事。例如,说'InternetOpen'返回NULL。使用'NULL'调用'InternetConnect'可能会导致无法将GetLastError设置为有意义的值的问题。如果'InternetConnect'失败,'FtpPutFile'可能会做其他奇怪的事情。尽早并经常检查返回值。在知道安全使用之前,不要使用返回的值。 – user4581301