你试图这样做的方式是完全错误的。 QFile无法查询网络服务器。您需要做的是使用QNetworkAccessManager类。有了这个,您可以尝试下载myapp_1.1.2_installer.exe。如果该文件不存在,您将收到一条错误消息。
为什么qtcente.org上的海报声称它对他有用......不知道。 也许因为他的地址是本地的。但它仍然有点可疑。
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
manager->head(QNetworkRequest(QUrl("www.foo.com/hidden/Support/myapp_1.1.2_installer.exe")));
replyFinished插槽中的QNetworkReply具有方法NetworkError QNetworkReply::error() const。
如果您的文件不存在,您应该获得QNetworkReply :: ContentNotFoundError。
编辑:正如几条评论指出的那样,只是为了了解远程服务器上存在的文件,使用'get'并连接到replyFinished可能不是最好的想法。对于非常小的文件可能没问题,但对于大量数据来说肯定有点过分。我将'get'请求改为'head'。特纳的解决方案将起作用,我现在应该是一个可接受的替代方案。