当一个用户请求开始下载,同时向他发送一条flash消息时,你该怎么做?

A. Flash message (example):. return redirect()->route('success')->with('success', 'hello');.

B. Start download (example):. return \Illuminate\Support\Facades\Storage::download($path);.

C. Example which does not work. But it should be a mix of both examples from above:

return \Illuminate\Support\Facades\Storage::download($path)->with('success', 'hello');

推荐答案

As far as I know, HTTP responses are singular operations. It means you can't download and return messages at the same time.

但你可以在100101之前存档.


在您的Web路由中,添加以下内容

Route::get('/download-file', function () {
    $path = 'path/to/your/file.pdf';
    return \Illuminate\Support\Facades\Storage::download($path);
})->name('download.file'); 

当你点击"下载按钮"时,显示下载页面,并返回.

return redirect()->route('show.download.page')->with('success', 'file is ready to download!');

在这个视图中,像这样添加.

<body>
@if(session('success'))
    <div class="alert alert-success">
        {{ session('success') }}
    </div>
@endif

<script>
    window.onload = function() {
        window.location.href = "{{ route('download.file') }}";
    }
</script>
</body>

Php相关问答推荐

调用woocommerce_customer_Save_add动作挂钩时发生致命错误

使用额外的输入字段自定义WooCommerce单个产品

如何优化-PHP 7.3.14+Laravel 6

在函数内部获取一致的单选按钮值以更新WordPress用户数据

保存PHP条带以备将来使用,不显示用户界面

致命错误:未捕获错误:Google\Auth\HttpHandler\HttpHandlerFactory::build()

在WooCommerce产品中按类型对产品属性术语进行分类以供显示

Laravel关系-为用户获取属于组织的所有团队

基于自定义域的每个购物车项目的WooCommerce定制数量输入步骤

Shopware 6 插件:如何删除布尔配置并将其迁移到多选配置

如何处理 Null 上的 array_shift() ?

主机中未检索用户表数据

如何显示所有数组数据而不仅仅是最后的结果

为什么 php 只能在我的 Nginx Web 服务器的某些目录中工作?

根据所选付款方式启用/禁用 WooCommerce 所需的 checkout 字段

在 WooCommerce wc_get_products 函数中处理自定义分类法

提交仅包含活动详细信息选项卡表单的主表单

Windows 身份验证在 IIS 中验证什么?我可以在我的情况下禁用匿名身份验证吗?

PDO 和 SQL 查询结果中日期格式不同的原因可能是什么?

如何通过路由传递变量