假设在public/uploads文件夹下有一个文件test.xlsx
-
在前端页面添加下载链接,用户点击该链接即可下载对应的文件。
<a href="xxxxxxx/downloadFile">下载文件</a>
2. 在后端控制器方法中,我们需要获取要下载的文件路径,并通过响应头的方式将文件发送给用户进行下载。
/**
* 下载导入模板
*/
public function downloadFile()
{
// 获取当前应用实例
$app = app();
// 获取当前应用的根目录路径
$rootPath = $app->getRootPath();
// 获取要下载的文件路径
$filePath = $rootPath . 'public/uploads/test.xlsx';
// 文件下载
// 设置300秒有效期
//300秒代表文件下载的有效期。download第一个参数:本地的图片,第二个参数是下载后改名为my.jpg
return download($filePath, 'my')->expire(300);
}
注意:
下载文件的路径是服务器路径而不是URL路径,如果要下载的文件不存在,系统会抛出异常。
文档地址:https://www.kancloud.cn/a173512/thinkphp6/2452912