如何在Yii2下载所有类型的文件?

时间:2017-03-09 10:14:23

标签: yii yii2 yii2-advanced-app yii2-basic-app

我正在使用Yii框架基础,我有网站允许管理员上传文本文件,我需要从我的文件夹下载文件,但我无法下载。

我的控制器操作是

  public function actionDownload(){
     $url= $_GET["url"];
  $path = Yii::getAlias('@webroot') . "/$url";

   $file = $path;

   if (file_exists($file)) {

   Yii::$app->response->sendFile($file);
                     }
    }

我的观点是

<a href="download?url=download/notes/trIssues5850f5ae5cd6.docx">DOWNLOAD</a>

如果我点击下载,只需阅读文件内容并直接在页面中显示。我想要做的是当用户点击下载链接时,将弹出下载对话框或自动下载文件,而不是显示内容。

2 个答案:

答案 0 :(得分:2)

而不是:

sendFile($file);

试试这个:

xSendFile($file)

答案 1 :(得分:-3)

使用xSendFile(); 我在youtube上传了你可以在这里观看的视频 https://m.youtube.com/watch?v=kjtn2WJturk