【问题标题】:download mp3 from web url with android failed使用 android 从 web url 下载 mp3 失败
【发布时间】:2012-05-29 16:07:17
【问题描述】:

我有一个链接,可以在他们可以阅读的所有移动设备上下载 mp3。 我还有一台装有 Android 2.3.4 的 Acer E320,我想通过单击我的链接(Web 服务器 Apache;这是该链接后面的一些 PHP 源代码)下载我的 mp3。

我尝试使用 BlackBerry,并获得了文件。 我尝试使用带有 Android 的三星 Galaxy S 用户代理的 Firefox 浏览器,我得到了文件。 我尝试在我的 Acer E320 上使用相同的 Android 2.3.4,然后......我没有得到文件。

我很确定这来自操作系统,我明天会尝试使用 Windows Phone,但我很确定这会有效。

这里是我的下载源:

    <?php
    // assume that all variables are correctly set
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control:");
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Type: audio/mpeg");
    header('Content-Disposition: attachment; filename="'.$filename.'";');
    header("Content-Transfer-Encoding: binary");
    header('Content-Range: ' . $download_range);
    header('Content-Length: ' . $download_size);
    readfile($filename);
    ?>

感谢您知道为什么此代码无法在 Android 手机上运行。

编辑:我尝试使用带有 Windows Phone 操作系统的 HTC。下载没有开始,但我可以在 apache 日志上看到我的点击...看来 Android 并不孤单...

第二次编辑:我终于找到了:Android 完成了一个预取,因为一次性令牌而终止了我的下载。 谢谢大家

【问题讨论】:

  • 您是否确认 E320 确实传输了全部字节,甚至根本没有命中服务器? (检查访问日志)。
  • @MarcB 我只看访问日志,是的,我可以看到我在 3 台服务器中的 1 台上的命中(我是负载平衡的)。我还检查了 $download_range == $download_size == filesize($filename)。我终于确认 $filename 是绝对路径...
  • 请在下方输入答案,并确认以最大程度地帮助未来的用户

标签: php android download mp3


【解决方案1】:

终于找到了:

由于一次性令牌,Android 完成了预取,导致我的下载被终止。

谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 2020-11-20
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    相关资源
    最近更新 更多