一尘不染

将图像保存在公用文件夹中而不是存储laravel 5

sql

我想将我的头像保存在“公共”文件夹中并进行检索。

好的。我可以保存它,但是保存在“ storage / app”文件夹中,而不是“ public”

我的朋友告诉我去“ config / filesystem.php”并编辑它,所以我做到了

 'disks' => [
   'public' => [
        'driver' => 'local',
        'root' => storage_path('image'),
        'url' => env('APP_URL').'/public',
        'visibility' => 'public',
    ],

仍然没有变化。

这是我的简单代码

路线 :

Route::get('pic',function (){
return view('pic.pic');
});
Route::post('saved','test2Controller@save');

控制器

public function save(Request $request)
{
        $file = $request->file('image');
        //save format
        $format = $request->image->extension();
        //save full adress of image
        $patch = $request->image->store('images');

        $name = $file->getClientOriginalName();

        //save on table
        DB::table('pictbl')->insert([
            'orginal_name'=>$name,
            'format'=>$base,
            'patch'=>$patch
        ]);

        return response()
               ->view('pic.pic',compact("patch"));
}

看法:

{!! Form::open(['url'=>'saved','method'=>'post','files'=>true]) !!}
                {!! Form::file('image') !!}
                {!! Form::submit('save') !!}
            {!! Form::close() !!}

                <img src="storage/app/{{$patch}}">

如何将我的图像(和将来的文件)保存在公用文件夹而不是存储中?


阅读 131

收藏
2021-03-17

共1个答案

一尘不染

在config / filesystems.php中,您可以执行此操作…在公共目录中更改根元素

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

您可以通过以下方式访问它

Storage::disk('public')->put('filename', $file_content);
2021-03-17