Laravel nova 操作下载文件原因:失败 - 没有文件
Laravel nova action download a file causes : Failed - no file
我想创建一个文件并在 Laravel 操作期间下载它。
我使用以下代码:
public function handle(ActionFields $fields, Collection $models)
{
Storage::disk('local')->put('file.txt', 'example');
$url = Storage::disk('local')->url('file.txt');
return Action::download($url, 'file.txt');
}
这会导致以下错误:
Failed - no file
我做错了什么?
不确定该错误消息的来源,但可能是以下问题。调用 return Action::download($url, 'file.txt')
laravel nova 将指示浏览器在给定的 url 下载文件。如前所述 here 这个 url 将(取决于您的配置)可能是相对的 url /storage/file.txt
。因此浏览器将尝试下载可能不存在的 http(s)://domain/storage/file.txt
。上面提到的文档对此有一个解决方案。
如果您甚至不想创建一个可能需要清理和保护的文件(如果数据是敏感的),您也可以将 url 指向一个路由并在控制器中进行处理。
我想创建一个文件并在 Laravel 操作期间下载它。
我使用以下代码:
public function handle(ActionFields $fields, Collection $models)
{
Storage::disk('local')->put('file.txt', 'example');
$url = Storage::disk('local')->url('file.txt');
return Action::download($url, 'file.txt');
}
这会导致以下错误:
Failed - no file
我做错了什么?
不确定该错误消息的来源,但可能是以下问题。调用 return Action::download($url, 'file.txt')
laravel nova 将指示浏览器在给定的 url 下载文件。如前所述 here 这个 url 将(取决于您的配置)可能是相对的 url /storage/file.txt
。因此浏览器将尝试下载可能不存在的 http(s)://domain/storage/file.txt
。上面提到的文档对此有一个解决方案。
如果您甚至不想创建一个可能需要清理和保护的文件(如果数据是敏感的),您也可以将 url 指向一个路由并在控制器中进行处理。