我正在创建一个google-chrome应用程序,它将从八位字节流中下载歌曲,但由于JavaScript限制,我无法创建“下载”按钮。用户必须右键单击并选择保存文件为。我希望创建一个php页面,将浏览器重定向到八位字节流的位置,该位置将位于不同的站点上,然后在那里创建一个下载对话框。我知道这里可能有安全限制,但是有可能重定向php页面并设置它重定向到的那个页面的内容处置标题吗?
注意:我无法从我的服务器获取八位字节流来保存,因为我使用的主机不支持对外部站点的php调用。
答案 0 :(得分:1)
下载对话框(content-disposition header)必须由其他站点生成。没有办法解决它,因为浏览器只会相信来自同一服务器的标头。如果其他网站没有生成所需的标题,如果您没有其他网站,那么您无能为力。
您可以编写一个代表用户访问其他站点的PHP脚本,首先将八位字节流下载到服务器,然后将其发送给具有所需标头的用户。换句话说,您的脚本将充当代理服务器。如果感兴趣,请查看curl
模块。但这会导致服务器的带宽急剧上升,也可能存在版权问题。