【问题标题】:Laravel nova - use action to allow multiple downloadLaravel nova - 使用动作允许多次下载
【发布时间】:2019-11-14 11:59:28
【问题描述】:

在 laravel Nova 2.0 中

要在操作执行后启动文件下载,您可以使用 Action::download 方法。下载方法接受的 URL 要下载的文件作为其第一个参数,以及所需的名称 文件的第二个参数:

return Action::download('https://example.com/invoice.pdf', 'Invoice.pdf');

在Action中处理方法

 public function handle(ActionFields $fields, Collection $models)
    {
        foreach ( $models as $model ) {
            return Action::download($model->document_link, $model->document_title);
        }
    }

现在这将下载循环中的最后一个,如何允许循环下载所有内容?

更新

一个选项是使用 Zipper 或其他东西来创建所有选定的可下载文件的 zip,然后下载它,但如果我们可以允许下载队列,我希望它。

【问题讨论】:

    标签: laravel laravel-nova


    【解决方案1】:

    我不相信可以使用下载多个文件

    return Action::download()
    

    一种解决方法可能是创建一个包含所有文件的压缩存档并展示此存档示例:

    public function handle(ActionFields $fields, Collection $models)
    {
        foreach ( $models as $model ) {
           $this->addTozip($model) // some function to build an archive
        }
        return Action::download('https://example.com/invoice.zip', 'Invoice.zip');
    }
    

    【讨论】:

      猜你喜欢
      • 2023-02-24
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 2021-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多