Laravel:强制下载字符串而无需创建文件

2024-03-09

我正在生成一个 CSV,并且我希望 Laravel 强制下载它,但是文档 https://laravel.com/docs/5.3/responses#file-downloads仅提到我可以下载服务器上已存在的文件,并且我想在不将数据保存为文件的情况下执行此操作。

我设法做到了这一点(有效),但我想知道是否还有另一种更简洁的方法。

    $headers = [
        'Content-type'        => 'text/csv',
        'Content-Disposition' => 'attachment; filename="download.csv"',
    ];
    return \Response::make($content, 200, $headers);

我也尝试过SplTempFileObject() http://php.net/manual/en/class.spltempfileobject.php,但我收到以下错误:The file "php://temp" does not exist

    $tmpFile = new \SplTempFileObject();
    $tmpFile->fwrite($content);

    return response()->download($tmpFile);

Make a 响应宏 https://laravel.com/docs/5.3/responses#response-macros更清晰的内容配置/laravel 方法

将以下内容添加到您的App\Providers\AppServiceProvider启动方式

\Response::macro('attachment', function ($content) {

    $headers = [
        'Content-type'        => 'text/csv',
        'Content-Disposition' => 'attachment; filename="download.csv"',
    ];

    return \Response::make($content, 200, $headers);

});

然后在你的控制器或路由中你可以返回以下内容

return response()->attachment($content);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel:强制下载字符串而无需创建文件 的相关文章

  • Laravel - 如何使用供应商类?

    我想在 m paths php 文件上使用移动检测 我已将该包添加为composer json 中的必需项 并将其安装在供应商文件中 我现在该如何使用它 我尝试了这个答案 但没有成功 因为找不到该课程 Laravel 4 使用供应商类 ht
  • Laravel-Excel批量导入

    所以 我有一个 28k 行的 Excel 文件 我想加载它 然后插入数据库 但它刚刚停止 空格处 我尝试减少到 5k 数据 它有效 但速度太慢我也尝试过使用chunk http www maatwebsite nl laravel exce
  • Laravel:调用未定义的函数 Symfony\Component\Console\mb_convert_variables()?

    我正在运行普通 Amazon EC2 服务器 我自己安装了 PHP 5 5 21 我的 Web 应用程序是基于 Laravel 构建的 几个星期以来 一切都进展顺利 然而 现在 当运行 Laravel 命令来更新数据库架构时 php 工匠迁
  • Laravel 5.4 合并两个集合

    所以我有两个收藏 sales and costs 现在我需要将它们合并为我的一个集合foreach状况 我不确定是否可以在一个集合中使用两个集合foreach 原始查询 Raw MySQL Queries for Sales total s
  • Eloquent 模型的默认范围?

    这是一个示例数据库表 users id int 11 auto increment name varchar 100 banned int 1 专栏banned是一个布尔值 即0 false 默认情况下 如果用户已被禁止 则该值为1 我想默
  • 应用中间件后服务提供商的访问请求

    Bindings 我在接口和实现之间的服务提供者中使用绑定 public function register this gt app gt bind MyInterface MyImplementation class 中间件 在我的中间件
  • Laravel 5:在没有 Composer 的情况下安装 Form 和 HTML 类

    我有兴趣在 Laravel 5 上安装 Form 和 HTML 类 而不需要 Composer 我怎样才能做到这一点 对于那些想说服我使用作曲家的人 1 我想通过自己手动至少一次来看看它的作用 2 我的主机上没有作曲家 3 使用compos
  • Laravel 按特定值对结果进行排序

    我有这行从数据库获取结果的代码 clanMembers gt User find Auth user gt clan id gt where clan id Auth user gt clan id gt orderBy username
  • Laravel 5 文件下载无效

    使用时Response download下载文件时 我注意到图像和其他二进制文件传输不正确 改变Content Typeheader 没有改变任何东西 也没有明确禁止缓存或强制内容的长度 造成这个问题的原因可能是什么 这个问题的解决方案可以
  • 如何确定 Laravel 4.2 中模型是否使用软删除

    如何确定 Laravel 4 2 中模型是否使用软删除 In Laravel API http laravel com api class Illuminate Database Eloquent Model html 我找到了 isSof
  • Laravel 5.3 Schema::create ENUM 字段是 VARCHAR

    我刚刚创建了新的迁移 运行后我看到了我的领域type 不是 ENUM 类型 它有一个改为 VARCHAR 255 类型 Schema create payments function Blueprint table table gt inc
  • Laravel 完整日历

    我正在尝试按照本教程进行操作https laravelcode com post laravel full calendar tutorial example using maddhatter laravel fullcalendar ht
  • 如何在通过 Laravel Eloquent 方法连接的元素上使用 orderby

    问题是查询无法找到应该与 Laravel Eloquent 中的方法WITH 连接的特定方法 特定方法 特定模型 特定模型 特定方法等 有什么想法如何解决吗 我的代码 SpecificModel
  • 场次抽奖

    有人能解释一下什么是会话扫彩票吗 我已附加 Laravel 框架的默认会话配置文件 问题 1 它说某些会话驱动程序必须manually扫荡他们的 存储位置 有人可以描述这个过程以及为什么会这样吗 必要的 哪些会话驱动程序需要此操作 2 为什
  • Laravel - 调用未定义的方法 Illuminate\Database\Query\Builder::user()

    我正忙于Laravel 从头开始 更新记录和预加载 https laracasts com series laravel 5 from scratch episodes 10 我已经遵循了该教程 但在尝试在 CardsController
  • 基于“属于”关系的雄辩的 where 条件

    假设我有以下模型 class Movie extends Eloquent public function director return this gt belongsTo Director 现在我想使用基于directors 表中的列的
  • Laravel 5 Auth 注销不起作用

    当我使用内置身份验证并尝试在以下位置注销用户时 auth logout 它没有像希望的那样工作 它似乎让用户保持登录状态 但是当我清除浏览器缓存时 我可以看到实际上已经将用户注销了 我在页面上没有收到任何错误 在日志文件中也没有收到任何错误
  • Laravel 5 - 更改默认日志位置,将日志文件移至应用程序之外

    如何更改默认日志文件位置
  • 如何使用 Laravel Eloquent 返回多重关系?

    我有一张桌子叫users 每个用户都有不同的事情 country device computer category 我为上述每一个 事物 创建了一个表格 类似如下 1 United States 2 United Kingdom 3 Aus
  • 保存多对多关系,同步/附加不存在?

    我有以下两个多对多关系的模型 use Illuminate Database Eloquent Model class Permission extends Model The database table used by the mode

随机推荐