如何使用MIME协议配合表单在iphone手机上下载文件?
做了一个在线下载音乐网站的工具,使用PHP编写,包含MIME协议中的Content-type&Content-Disposition,测试了电脑,安卓都可以正常下载,代码如下(测试用的,代码排版较乱希望多多包涵):
MP3格式的文件在浏览器中打开直接被浏览器解析播放了,这个在线工具的目的就是从一个网站获取链接(MP3格式)后通过MIME协议强制浏览器下载MP3文件而不是在线播放,假设好的网站地址为:http://www.w00yun.top/echo.php
这样输入链接直接就可以下载MP3格式的文件了且在电脑&安卓多浏览器均测试成功,但是拿到iphone上使用iphone自带的Safari浏览器下载就直接这样了:
只是PHP爱好者,并没有专业学过编程,也从没做过编程相关的工作,百度后得知iphone自带的浏览器是不可以随意下载东西的,然后使用iphone下的QQ浏览器下载是可以下载的,但是下载文件大小明显不对:
这样我就开始测试是哪儿出了问题,通过谷歌在oschina上看到说表单提交按钮的样式在Safari浏览器上无效
还以为是表单提交的问题,但是通过查看答案发现并不是我想要的答案,而且通过测试,如果注释掉MIME协议,直接通过表单提交输出获取到的下载链接是正常可以获取到的
由此判断并不是表单的原因,然后我又单独直接把链接赋值给变量,通过MIME协议下载发现也是可以正常下载的,歌曲大小正常也可以播放:
这样不管是获取下载链接还是通过MIME协议直接下载在iphone的QQ浏览器中都是可以的,但是通过表单提取链接再通过MIME下载就是不可以下载正常文件的,不知道是什么问题,希望可以帮忙解答一下,谢谢!
相关阅读:
有高手可否帮忙简化一段代码
git clean -d -fx 删除了文件,如何撤销被删除的文件?
使用rem设置height和line-height相同时文字没有居中?
像这样的小窗口,关闭的快捷键是什么?
html如何忽略浏览器记住密码功能
python如何将amr格式转换成mp3格式
html/css的类命名有哪些好的方法?
androidRuntime NoClassDefFoundError 错误
实现上传视频的时候自动为视频截图
两种函数写法的区别
php中二进制运算的作用是什么
闭包在工作中的使用场景?
关于Angular通过 ng-click操作数据使元素显示隐藏的问题。
C与C++的区别
github pull requst的时候不能把tags弄到主代码仓库里面吗?
IOS的UIwebView点击网页,页面出现上移
CURL多线程不执行一直在请求
为什么主线程会将 子线程 已经输出的值再次输出?
angularjs get、post、jsonp怎么实现跨域请求?请求数据错误的问题
对象里面布尔值重置