|
QNetworkAccessManager *manager;
QEventLoop *eventloop = new QEventLoop;
QUrl url;
url.setScheme("ftp");//设置该计划描述了URL的类型(或协议)
url.setHost(ftpServer);//设置主机地址
url.setPath(desPath+QDir(file.fileName()).dirName());//设置URL路径。也就是下载文件的名字
url.setPort(ftpPort.toInt());//设置URL的端口。(就是这里,只要更改服务器中端口,除了21之外,都不能正常通信,映射端口也是,只要内网服务器不是21端口映**的,都会用问题)
url.setUserName(userName);//设置tfp用户名
url.setPassword(passWord); //设置ftp用户密码
manager = new QNetworkAccessManager;//QNetworkAccessManager 允许发送网络请求和接收回复
QNetworkReply *reply = manager->put(QNetworkRequest(url), data);
//来个反馈
connect(manager, SIGNAL(finished(QNetworkReply*)), eventloop,SLOT(quit()));
eventloop->exec();
//无错误返回
if(reply->error() == QNetworkReply::NoError)
{
qDebug()<<"成功";
}
else
{
qDebug()<<"失败!";
qDebug()<<reply->errorString();
} |
|