thinkphp6入门(22)-- 如何下载文件

本文介绍了如何在ThinkPHP6框架中,前端页面添加下载链接,通过后端控制器获取服务器文件路径,并使用响应头发送文件供用户下载,同时注意区分服务器路径与URL路径,以及处理文件不存在的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假设在public/uploads文件夹下有一个文件test.xlsx

图片

  1.  在前端页面添加下载链接,用户点击该链接即可下载对应的文件。

<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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件工程小施同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值