当我运行下面的功能时,它会找到并读取文件,并以csv格式在我的Chrome开发工具预览选项卡中正确显示结果。但它不是下载它。如果我直接链接到浏览器中的文件,则会下载它,因此它似乎不是.htaccess问题。我已经在documentation中使用了这个示例,并在Stack Overflow中找到了它的许多变体,但结果是相同的:文件显示在dev工具的预览选项卡中(同样适用于Firefox)但没有下载。我的代码:
public function download()
{
$file = $this->dir;
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename='. $file);
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
}
我正在使用最新的Wamp服务器进行本地开发。当我按下/拉到遥控器时,结果是一样的。
答案 0 :(得分:2)
从您的问题来看,您可能会尝试通过AJAX请求下载文件。
如果是这样,我不相信你能做到这一点。相反,您可以在新窗口中打开文件的链接,这将成功下载文件。