Я пытаюсь загрузить простой текстовый файл на FTP-сервер, но получаю ответ «QNetworkReply :: ContentOperationNotPermittedError» от сервера, и я думаю, что это касается моей файловой иерархии.
Вот порядок файлов моего ftp-сервера и моей конфигурации qt-ftp:
QUrl url("f13-preview.125mb.com/www/home/repo/test.txt");
url.setHost("f13-preview.125mb.com");
url.setUserName("1896230");
url.setPassword("mypassword");
url.setPath("f13-preview.125mb.com/www/home/repo/");
url.setScheme("ftp");
Я не могу понять, почему вы используете QNetwork, а не круто Модуль QFtp, что обеспечивает все необходимое для работы с ftp?
QFtp *ftp = new QFtp(parent);
ftp->connectToHost("f13-preview.125mb.com");
ftp->login("1896230", "mypassword");
а затем использовать QFtp :: пут. Это все, что вам нужно.
Я изменил QUrl, как показано ниже, и решил проблему, не знаю почему, но теперь я борюсь с ошибкой сегментации.
QUrl url("fftp://f13-preview.125mb.com/repo/test.txt");
if(url.isValid())
{
url.setHost("f13-preview.125mb.com");
url.setUserName("1896230");
url.setPassword("mypassword");
url.setScheme("ftp");
url.setPort(21);
}