我正在使用典型的 PHP 代码来下载文档:
header('Content-Type: ' . $mimeTypes[$fileext]);
header('Content-Disposition: attachment; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
header('Cache-Control: private');
header('Pragma: private');
readfile($filepath);
一切正常 - 打开一个下载/另存为对话框,除了 .doc 文件尝试在 docs.google.com 中打开但由于缺乏权限而失败 - 这是因为我从网站根目录之外提供文件。
那么如何绕过 docs.google 并强制每个浏览器提供另存为对话框,而不管文件 mime 类型如何?('doc' => 'application/msword')
我尝试了以下方法无济于事:
在 .htaccess 文件中:
<FilesMatch "\.(?i:doc)$"> ForceType application/octet-stream Header set Content-Disposition attachment </FilesMatch>
在 .htaccess 文件中:
AddType application/octet-stream .doc
在 PHP 脚本中:
header('Content-Type: application/force-download');