gpt4 book ai didi

php - Laravel:如何将 Excel 文件存储在给定的路径中?

转载 作者:行者123 更新时间:2023-12-03 23:45:22 24 4
gpt4 key购买 nike

我有一个功能,它将我的 Blade View 转换为 Excel 格式并下载它。现在我想将它保存在指定位置,即:public/uploads/release
这是我的 Controller :

 public function export_release()
{
return Excel::download(new ReleaseExportView(), 'release.xlsx');
}
此功能下载excel文件下载文件夹。我想把它保存在位置:public/uploads/release
这是我的路线:
Route::Get('outbounds/export_release' ,'outboundController@export_release')->name('outbounds.export_release');

最佳答案

您可以使用 store将文件存储在文件系统中的方法。
来自 docs :

Exports can easily be stored on any filesystem that Laravel supports.


默认磁盘
public function storeExcel() 
{
// Store on default disk
Excel::store(new InvoicesExport(2018), 'invoices.xlsx');
}
自定义磁盘
public function storeExcel() 
{
// Store on a different disk (e.g. s3)
Excel::store(new InvoicesExport(2018), 'invoices.xlsx', 's3');

// Store on a different disk with a defined writer type.
Excel::store(new InvoicesExport(2018), 'invoices.xlsx', 's3', Excel::XLSX);
}
现在理想情况下,您会将文件存储在 storage/app/public/uploads/release 中。并从 public/storage/ 创建符号链接(symbolic link)至 storage/app/public如解释 here .
但是如果你真的想把它存储在 public/uploads/release您可以在 config/filesystems.php 中创建新的自定义磁盘.就像是:
'real_public' => [
'driver' => 'local',
'root' => public_path(),
'url' => env('APP_URL'),
'visibility' => 'public',
],
然后您可以使用自定义磁盘来存储文件:
public function export_release()
{
Excel::store(new ReleaseExportView(), 'uploads/release/release.xlsx', 'real_public');
}

关于php - Laravel:如何将 Excel 文件存储在给定的路径中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63152553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com