我一定是过得很充实的一天。我似乎无法弄清楚这一点。
我的网站上有一个页面应该强制下载 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" />
但这拒绝下载文件。任何指针都非常感谢。