我使用典型的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);
一切正常 - 下载/另存为对话框打开,除了尝试在docs.google.com中打开的.doc文件,但由于缺少权限而失败 - 这是因为我正在从外部提供文件网站根。
那么,无论文件mime类型如何,我如何绕过docs.google并强制每个浏览器提供另存为对话框? ('doc' => 'application/msword')
我尝试了以下内容无济于事:
:
<FilesMatch "\.(?i:doc)$">
ForceType application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
:
AddType application/octet-stream .doc
:
header('Content-Type: application/force-download');
答案 0 :(得分:1)
将此添加到标题中:
header("Content-type: application/force-download");
答案 1 :(得分:0)
以下php为我工作
header("Cache-Control: private");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=".$file."");
header("Content-Transfer-Encoding: binary");
header("Content-Type: binary/octet-stream");
readfile ($link);
P.S。 - 我只在$file
变量中使用了文件扩展名,因此无需提及 mime type ...
希望这会有所帮助:)