📜  laravel 下载文件更改名称 - PHP (1)

📅  最后修改于: 2023-12-03 15:02:35.887000             🧑  作者: Mango

Laravel 下载文件更改名称

在 Laravel 中,我们可以很容易地实现文件下载的功能。但是默认情况下,下载的文件名称将是原始文件名称。如何更改下载的文件名称呢?下面是一种简单的方法。

创建下载路由

首先,我们需要创建一个下载路由。

Route::get('download/file', 'DownloadController@download')->name('download');

这个路由将被用来触发下载操作。我们需要指定一个 DownloadController 来处理这个请求。

响应下载请求

在我们的 DownloadController 中,我们需要编写一个方法来响应下载请求。

public function download()
{
    $file = public_path('storage/file.pdf');
    $headers = [
        'Content-Type' => 'application/pdf',
    ];
    $fileName = 'new_file_name.pdf';

    return response()->download($file, $fileName, $headers);
}

上面的代码将用新的文件名称来下载 file.pdfpublic_path 指向 Laravel 中的公共文件夹。

$headers 数组用来指定文件的 MIME 类型。在上述的例子中,我们将下载的文件类型设为 application/pdf

最后,我们将响应的文件名指定为 $fileName。这个文件名将被用来命名下载的文件。

测试下载操作

现在,我们可以在浏览器中访问 download/file 来下载 file.pdf 文件,并用新的文件名 new_file_name.pdf 来保存它。

到这里为止,我们通过修改响应头信息来实现了 Laravel 下载文件更改名称的功能。我们可以将这个过程构建为一个通用的下载器服务,并集成到我们的 Laravel 应用程序中。