QNetworkAccessManager上传到本地FTP服务器
我可以从服务器上下载,但我无法上传到它。它上传文件,但它是一个空文件。QNetworkAccessManager上传到本地FTP服务器
这基本上是我在做什么:
QString filename="Data.txt";
QFile file(filename);
file.open(QIODevice::ReadWrite);
file.write("HELLO") ;
QUrl urlup("ftp://127.0.0.1/file.txt");
urlup.setPassword("123");
urlup.setUserName("user");
urlup.setPort(21);
QNetworkAccessManager *nam = new QNetworkAccessManager;
QNetworkRequest requp(urlup);
nam->put(requp,&file);
file.close();
,但它不工作;只是上传一个空文件。
尝试file.flush();
后写。
代替127.0.0.1
使用localhost
而不是setPort
追加:PortNumber
到URL。 (例如ftp://localhost:21
)
答案在此链接:Putting large size file on FTP using QNetworkAccessManager
什么时候链接死了?请有空的时候,尽量*至少*复制这里的解释。如果你花时间扩展它,最好的办法是。这实际上花了我一段时间,我没有找到解释。 –
@TomášZato链接中有一个示例,这里复制的时间太长。您只需复制问题中的代码并替换我提到的部分。 – user3220907
仍然不起作用 – user2584587
嗯,好可能是你应该寻求到文件的开头发送内容之前。上次尝试我的运气:) – kvv
它的工作!你是神 – user2584587