我在QT编写简单的FTP-Upload时遇到了问题。 我目前正在使用QT 5.5,而QFtp Class已不再可用。 所以我使用了我的Visual C ++项目中的代码。
答案 0 :(得分:2)
如Qt 5.4文档中所述,有一些附加组件提供FTP和HTTP流:
但是,我建议你开始使用QNetworkManager来做你的FTP& HTTP访问。它的界面更复杂(基本上所有请求都是异步处理的)但是当你掌握它时,它并不那么困难。
答案 1 :(得分:0)
您的编译错误与const char*
到const wchar_t*
的转换有关。如果您对FtpPutFileW
感到满意,则可以将文件名转换为wchar_t*
。这可以使用Qt QString
来完成:
QString::toWCharArray(wchar_t * array)
将字符串转换为wchar_t
数组(此函数不附加空字符)或使用直接转换:
reinterpret_cast<const wchar_t *>(qstring.utf16())
还可以使用各种方法将std::string
转换为wchar_t*
。
如果您只需要FTP put
操作,则QNetworkManager
具有此功能。但是,QNetworkManager
对低级别FTP的支持有限:https://stackoverflow.com/a/32568786/4023446
因此,对于其他低级FTP命令,可以手动安装Qt FTP
。