我在互联网上搜索并没有找到多少。这是我目前的代码:
QNetworkAccessManager* qnam = new QNetworkAccessManager(this);
QUrl url = QUrl("ftp://example.com/file.txt");
url.setHost(QString("ftp://example.com"));
url.setUserName(QString("user"));
url.setPassword(QString("pass"));
url.setPort(21);
QNetworkRequest req(url);
file.close();
从我现在的情况来看,如何写入" file.txt" ?
由于
答案 0 :(得分:0)
据我所知(可能还有其他方式)
使用本地文件提供示例。如果你愿意,可以尝试自己的流。代码是粗略的伪代码。当你将它用于生产时要小心。
首先为网络管理员的finished
信号创建一个插槽,以完全读取该文件。
connect(qnam,SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
获取网络回复,如下所示。
QNetworkReply *nReply = qnam->get(req);
创建一个插槽函数以将完整文件读取到本地。
void YourClass::replyFinished(QNetworkReply *data) {
QFile file("YourFileName");
if (!file.open(QIODevice::WriteOnly))
return;
file.write(data->readAll());
file.close();
}
以编程方式修改本地文件。
现在将文件上传回FTP,如下所述。
QNetworkRequest upload(url);
qnam->put(upload, "YourFileName");