在移动浏览器(Android)中下载文件的PHP脚本
我希望我的移动webapp能够下载文件。不幸的是,我的Android设备告诉我它不支持通过jquery插件jquery.fileDownload.js下载文件。。。 所以我只发送一个jsonP(跨域,因为我的应用程序运行在另一台服务器上)请求 我的php脚本看起来在移动浏览器(Android)中下载文件的PHP脚本,php,android,mobile,download,mobile-browser,Php,Android,Mobile,Download,Mobile Browser,我希望我的移动webapp能够下载文件。不幸的是,我的Android设备告诉我它不支持通过jquery插件jquery.fileDownload.js下载文件。。。 所以我只发送一个jsonP(跨域,因为我的应用程序运行在另一台服务器上)请求 我的php脚本看起来 ob_clean(); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; fi
ob_clean();
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="file.JPG"');
readfile('/var/.../file.JPG');
die();
在我的android chrome浏览器中,在发送jsonp请求后,什么都没有发生。
我做错了什么?难道不能通过jsonp下载文件吗?测试了相同的代码
在我的桌面上,浏览器工作得很好
提前感谢。JSONP要求您发回实际的可执行javascript代码。您只是在转储一些基本上是随机的字节,您的浏览器将尝试执行这些字节,但却失败得很惨 你需要先做一些阅读: 您需要使用正确的JSONP回调进行响应,并将文件数据作为参数包括在内,例如
header('Content-Type: text/javascript');
echo "jsonCallback(", json_encode(file_get_contents('your file here')); , ");"
你好谢谢你的回答。但是,我如何告诉jsonCallback方法中的浏览器应该开始下载json_编码的数据呢?我得到的参数只是文件内容。。。据我所知,你不能从javascript开始下载…请阅读维基百科链接。它解释了整个过程。