【问题标题】:Qt - Some downloaded files have 0 byteQt - 一些下载的文件有 0 字节
【发布时间】:2017-07-24 14:58:08
【问题描述】:

我目前正在努力使用 Qt 应用程序。我正在尝试使用 QNetworkManager、QNetworkRequest 和 QNetworkReply 从 Google Drive 下载一些文件。

首先,我的应用程序在几台计算机上运行良好(4 或 5 人对其进行了测试,没有遇到任何错误)。每个必须下载的文件都被有效下载。 (这种方式每次下载大约280个文件,没有问题。)

问题是我的工作团队的成员只有 0 字节的文件。通过 SSL 下载的每个文件都没有任何内容。经典 HTTP 上唯一的一个下载已正确下载。

你见过这个错误吗?

我所有的“下载”代码都来自这个single tutorial

编辑:经过几次测试,我们发现错误是Error creating SSL context ()。 因此,我们试图通过在计算机上安装两个所需的库(ssleay32.dll 和 libeay32.dll)来解决它,但它不起作用。你知道它是否需要一些其他的库吗?

【问题讨论】:

  • 您的示例可能足以进行诊断(我不知道 - 我没有研究过),但“完成”意味着有人可以将其复制/粘贴到他们计算机上的 C++ 文件中,然后编译它。 “可验证”意味着他们可以运行程序来查看问题。
  • 拥有一个真正完整的 Qt 示例可能会很长 - 因为需要所有类和方法。事实上,我发布的是“经典”代码,不应该(我希望!)有任何错误。我认为发布很多附加代码无关紧要......不过,我应该编辑它以获得真正完整的示例吗?
  • 什么是fileDownloader?请出示您的陈述。
  • @eyllanesc 当然,我更新了我的帖子。
  • 我认为你需要添加:libssl32

标签: qt qnetworkaccessmanager qnetworkreply qnetworkrequest


【解决方案1】:

这实际上是关于缺少库。我必须添加到我的文件夹中:

  • libeay32.dll
  • libssl32.dll
  • ssleay32.dll

关键是,即使在 64 位系统上,这些库也必须适用于 32 位系统,因为我为 32 位系统编译了我的应用程序...

另外,有些电脑还需要msvcr120.dll。

【讨论】:

    猜你喜欢
    • 2019-06-16
    • 2021-08-26
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多