Fai*_*mal 5 php storage path laravel flysystem
只是一个简单的问题。
尝试下载存储文件,但无法从存储文件夹下载文件。
在谷歌上搜索过。找到了两种下载存储文件的方法。两者都尝试过但没有成功。
return response()->download(storage_path("app\public\uploads\1662531990_Dropshipping.docx"));
Run Code Online (Sandbox Code Playgroud)
return Storage::disk('public')->download("app\public\uploads\1662531990_Dropshipping.docx", "1662531990_Dropshipping");
Run Code Online (Sandbox Code Playgroud)
是的,上面给出的文件存在于给定路径中。下面是该目录和错误屏幕的屏幕截图。
我认为,它与以下相关的软件包有关flysystem,因为composer show
league/config v1.1.1 Define configuration arrays with strict schemas an...
league/flysystem 3.2.1 File storage abstraction for PHP
league/flysystem-aws-s3-v3 3.0.0 AWS S3 filesystem adapter for Flysystem.
league/mime-type-detection 1.11.0 Mime-type detection for Flysystem
Run Code Online (Sandbox Code Playgroud)
小智 0
从 Laravel 9 的存储中下载文件的最简单方法是使用文档中所示的下载方法。
return Storage::download('file.jpg');
return Storage::download('file.jpg', $name, $headers);
Run Code Online (Sandbox Code Playgroud)
下面是我用来下载 pdf 的代码示例:
public function download(Publication $publication){
//Path from the local storage directory (./storage/app/)
$path = $publication->file_path;
//Name of the file the user will see
$slug = Str::slug($publication->title).'.pdf';
$headers = [
'Content-Type' => 'application/pdf',
];
return Storage::download($path, $slug, $headers);
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!