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'は正しいことですが、最初のエラーの後には本当に便利です。その後、Cromは何が起こったのかしか知りません。たとえば、 'InternetOpen'が' NULL'を返すとします。 'InternetConnect'を' NULL'で呼び出すと、GetLastErrorを意味のある値に設定できないことがあります。 'InternetConnect'が失敗した場合、' FtpPutFile'は何か別のことをすることができます。戻り値を早く、頻繁にチェックしてください。使用するのが安全であることがわかるまで、戻り値を使用しないでください。 – user4581301