ThinkPHP

thinkPHP6 文件下载显示原中文名称

文 / 管理员 来源 / 转载 阅读 / 433 3年前

文件下载实现

支持文件下载功能,可以更简单的读取文件进行下载操作,支持直接下载输出内容。


你可以在控制器的操作方法中添加如下代码:

public function download()
{
    $download =  new \think\response\Download('image.jpg');
    return $download->name('my.jpg');
    // 或者使用助手函数完成相同的功能
    // download是系统封装的一个助手函数
    return download('image.jpg', 'my.jpg');
}

访问download操作就会下载命名为my.jpg的图像文件。

下载文件的路径是服务器路径而不是URL路径,如果要下载的文件不存在,系统会抛出异常。

下载文件名可以省略后缀,会自动判断(后面的代码都以助手函数为例)

public function download()
{
    // 和上面的下载文件名是一样的效果
    return download('image.jpg', 'my');
}

如果需要设置文件下载的有效期,可以使用

public function download()
{
    // 设置300秒有效期
    return download('image.jpg', 'my')->expire(300);
}

除了expire方法外,还支持下面的方法:

方法 描述
name 命名下载文件
expire 下载有效期
isContent 是否为内容下载
mimeType 设置文件的mimeType类型

助手函数提供了内容下载的参数,如果需要直接下载内容,可以在第三个参数传入true:

public function download()
{
    $data = '这是一个测试文件';
    return download($data, 'test.txt', true);
}


转载来源:https://www.php.cn/php/php-tp6-download.html


评论

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

站点声明:本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

© 2020-2030 qdxcy.cn 版权所有京ICP备13045222号
相关侵权、举报、投诉及建议等,请发E-mail:2323946929@qq.com

友情链接: YzmCMS官方网站 YzmCMS官方论坛