在Yii2中,要下载/web/uploads/文件夹中的文件,你可以按照以下步骤进行操作:
use yii\helpers\FileHelper;
use yii\helpers\Url;
public function actionDownloadFile($filename)
{
$filePath = Yii::getAlias('@webroot/uploads/') . $filename;
if (file_exists($filePath)) {
// 处理文件下载
} else {
throw new \yii\web\NotFoundHttpException('The requested file does not exist.');
}
}
public function actionDownloadFile($filename)
{
$filePath = Yii::getAlias('@webroot/uploads/') . $filename;
if (file_exists($filePath)) {
Yii::$app->response->sendFile($filePath, $filename, ['inline' => false]);
} else {
throw new \yii\web\NotFoundHttpException('The requested file does not exist.');
}
}
你可以通过设置第三个参数的inline
选项为false
来确保文件被下载而不是在浏览器中打开。
echo Html::a('Download File', 'controller/download-file', 'filename' => 'example.pdf');
这将在页面上显示一个链接,用户点击该链接时将触发文件下载。
以上是在Yii2中下载/web/uploads/文件夹中文件的基本步骤。你可以根据实际需求进行适当的修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云