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

新手上路,请多包涵

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

原文由 Fnr 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 454
2 个回答

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

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

并像这样存储文件:

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

原文由 sunomad 发布,翻译遵循 CC BY-SA 4.0 许可协议

第 1 步:更改 Filesystems.php 中的设置

'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],

    'public' => [
        'driver' => 'local',
        'root' => public_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

第 2 步:在控制器中:像这样存储文件:

 'indoc_file' => $request->indoc_file->store('app/file'),

第 3 步:转到文件 .ENV 并像这样更改配置:

 FILESYSTEM_DRIVER=public

之后,您的文件位置将像这样保存在项目中: Project\public\app\public\app\file

如果您想下载文件,可以在您的查看页面上执行此操作:

 <a href="{{url('/app/public/'.$item->indoc_file)}}" class="btn btn-info" title="ດາວໂຫຼດ"><i class="fa fa-download"></i> </a>

原文由 Vansaly Lavanpheng 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题