【问题标题】:File download issue in TIdHttp using Delphi使用 Delphi 在 TIdHttp 中的文件下载问题
【发布时间】:2016-02-03 03:04:09
【问题描述】:

我正在使用 Delphi 10 Seattle 开发 android 移动应用程序和桌面应用程序。根据要求,我需要下载 Mp3 文件(可能是 1 到 5 MB)并需要将文件保存在使用 Delphi 创建的移动应用程序中。 通过使用 IIS,我将路径设为公开,并且可以在任何地方访问该文件。并且服务器系统的上传速度为512 Kbps,下载速度为1Mbps。
现在我正在尝试使用 TIdHttp 将文件文件从服务器下载到移动设备。

如果我在 Wifi 中使用我的移动应用程序(下载速度:8 Mbps,上传速度:2 Mbps),则文件正在正确下载。

但是当我使用移动数据(3g, 下载速度:4 Mbps,上传速度:260 Kbps),文件未正确下载,异常显示为“读取超时”。此外,我已将 ReadTimeout 增加到 9999999。然后,文件也没有被下载。另外,当我尝试在 Google chrome 中打开链接时。然后,文件也没有播放。

是否需要提高系统的上传速度或者修改代码才能正常下载。

提前致谢。

【问题讨论】:

  • 我怀疑 IIS 在这方面表现不佳。
  • 我昨天在Embarcadero forums 中讨论了同样的问题。

标签: delphi indy10 delphi-10-seattle


【解决方案1】:
  1. System.Net.HttpClient 尝试现代组件THTTPClient
  2. 您可以通过网络浏览器下载您的文件吗?只是为了确保 IIS 配置正确。

【讨论】:

  • 1.我们可以在 Firemonkey android 中使用 THttpClient 吗?当然我会使用这个组件并进行测试。 2. 如果我在手机中使用高速互联网,则文件将在浏览器中打开。如果我使用的是低速互联网,则文件未在浏览器中打开。我的服务器下载速度为 1 Mbps,上传速度为 512 Kbps。这是导致问题的原因吗
  • @test12345 -- 是的,THTTPClient 在 Android 4、MacOS 10 和 WIn32/64 平台上运行良好。我向你保证:)
  • @test12345 -- 最重要 -- SSL 连接不需要 OpenSSL 库。
【解决方案2】:

重新启动服务器系统后,我也可以使用慢速互联网下载文件。谢谢大家的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 2022-01-10
    • 1970-01-01
    • 2011-03-31
    • 2013-03-01
    • 1970-01-01
    相关资源
    最近更新 更多