如何将Laravel中的文件直接上传到公用文件夹?

2022-08-30 12:09:26

我托管我的网站的服务器不支持,所以我无法运行将我的存储目录链接到公共目录。我试图在文件系统中重新制作磁盘配置.php直接引用该文件夹,但它似乎也不起作用。有没有办法使用Laravel库将文件直接上传到公用文件夹中,或者我必须使用php方法?提前致谢。linksphp artisan storage:linkpublic


答案 1

您可以在 中创建新的存储光盘:config/filesystems.php

'public_uploads' => [
    'driver' => 'local',
    'root'   => public_path() . '/uploads',
],

并存储如下文件:

if(!Storage::disk('public_uploads')->put($path, $file_content)) {
    return false;
}

答案 2

您可以将磁盘传递给类的方法:\Illuminate\Http\UploadedFile

$file = request()->file('uploadFile');
$file->store('toPath', ['disk' => 'public']);

或者您可以创建新的文件系统磁盘,并将其保存到该磁盘。

您可以在 中创建新的存储磁盘:config/filesystems.php

'my_files' => [
    'driver' => 'local',
    'root'   => public_path() . '/myfiles',
],

在控制器中:

$file = request()->file('uploadFile');
$file->store('toPath', ['disk' => 'my_files']);

推荐