我使用CakeResponse :: file()让用户下载文件,如下所述。
https://book.cakephp.org/2.0/en/controllers/request-response.html#cake-response-file
但是,我注意到它在Chrome,IE,Opera等中运行良好,除了Firefox。在Firefox中没有任何反应。
$this->response->file( $filepath, [
'name' => $filename,
'download' => true,
] );
return $this->response;
我的控制器代码基本上是这样的。看起来文件类型无关紧要。 Firefox出了什么问题?
答案 0 :(得分:0)
您应该像这样下载link文件,它可以在所有浏览器中使用。的检测过强>
<?php echo $this->Html->link('Download',
array('controller' => 'Home',
'action'=>'download'));
?>
家庭控制器中的代码
public function download() {
$this->response->file( $filepath, [
'name' => $filename,
'download' => true,
] );
return $this->response;
}
如果您通过ajax调用此下载功能,它将显示该文件而非下载。