2012-05-29 55 views
0

我有一个链接到所有的移动设备上,他们可以阅读他们的MP3下载。 我也有一个Android 2.3.4的宏碁E320,我想通过点击我的链接下载我的mp3(网络服务器Apache;这是该链接背后的一些PHP源代码)。从网络下载MP3与Android失败

我试着用黑莓手机,我拿到了这个文件。 我用我的火狐浏览器与Android三星Galaxy S的用户代理一起试用过,我收到了这个文件。 我用我的宏基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手机操作系统的HTC。下载没有开始,但我可以看到我的命中的apache日志...它似乎是Android并不孤单...

第二次编辑:我finnaly找到它:有一个与Android完成预先获取因为一次性令牌而杀死我的下载。 感谢所有

+0

您是否确认E320实际上传输了全部字节,或者甚至是全部打开了服务器? (检查访问日志)。 –

+0

@MarcB我只是看访问日志,是的,我可以看到我的3个服务器中的一个(我负载平衡)。我也检查了$ download_range == $ download_size == filesize($ filename)。我终于确认$ filename是绝对路径... – niconoe

+0

请在下面输入答案,并确认它是最好的以帮助未来的用户 –

回答

1

我终于找到了:

有一个预取与Android杀死我的下载完成,因为一次使用的令牌。

谢谢大家。