我今天可能有点迟钝,看不懂这个。
我的网站上有一个页面应该强制下载msi文件,但是我想保留页面的html和下载指令。
到目前为止,我尝试在html中使用以下标签(请注意,我只能访问此页面的正文部分):
<meta http-equiv="Refresh" content="0; URL=file.msi">
但是在Firefox中,二进制文件显示为乱码文本。
接下来,我尝试了以下的PHP插入代码:
$file = "file.msi";
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 5');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
然而这会关闭当前的标签页/窗口,并且没有展示安装指引。
最后,我尝试在HTML中添加以下内容:
<META HTTP-EQUIV="Content-Type" CONTENT="application/octet-stream">
<meta http-equiv="content-disposition" content="attachment; filename=file.msi" />
但是它拒绝下载文件。 非常感谢任何指导。