PHP脚本在移动浏览器中下载文件(Android)

时间:2014-04-17 14:34:17

标签: php android mobile download mobile-browser

我希望我的移动网络应用能够下载文件。不幸的是,我的Android设备告诉我它不支持通过jquery插件jquery.fileDownload.js下载文件... 所以我只发送一个jsonP(跨域,因为我的应用程序在另一台服务器上运行)请求。

我的php脚本看起来

    ob_clean();
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="file.JPG"');
    readfile('/var/.../file.JPG');
    die();

在我的android chrome浏览器中,发送jsonp请求后没有任何反应。 我做错了什么?是不是可以通过jsonp下载文件?测试相同的代码 在我的桌面浏览器上工作得很好。

提前致谢。

1 个答案:

答案 0 :(得分:1)

JSONP要求您发回实际的可执行JavaScript代码。你只是倾销了一些基本上随机的字节,你的浏览器会尝试执行这些字节,而且会失败。

您需要先阅读一些内容:http://en.wikipedia.org/wiki/JSONP

您需要使用正确的JSONP回调进行响应,并将您的文件数据作为参数包含在内,例如

header('Content-Type: text/javascript');
echo "jsonCallback(", json_encode(file_get_contents('your file here')); , ");"