首页 > 解决方案 > 更改上传图片的目录

问题描述

如何更改上传图片的目录。我想将它上传到 App/public/files 文件夹中。

我的代码在这里:

    public function update(Request $request, Organigramme $organigramme)
    {
    $id = $organigramme->id;
    $organigramme = Organigramme::find($id);
    $organigramme->matricule = $request->input('matricule');

    if ($request->has('profile_image'))
    {
        $image = $request->file('profile_image');
        $name = str_slug($request->input('matricule'));
        $folder = '/uploads/images/';
        $filePath = $folder . $name. '.' . $image->getClientOriginalExtension();
        $this->uploadOne($image, $folder, 'public', $name);

        $organigramme->profile_image = $filePath;
        $organigramme->save();
    }
    return view( 'admin.organigrammes.show', compact('organigramme'));
   }

public function uploadOne(UploadedFile $uploadedFile, $folder = null, $disk = 'public', $filename = null)
{
    $name = !is_null($filename) ? $filename : str_random(25);

    $file = $uploadedFile->storeAs($folder, $name.'.'.$uploadedFile->getClientOriginalExtension(), $disk);

    return $file;
}

标签: laravelfile-uploadlocationstorage

解决方案


在 config/filesystems 文件中添加一个新的保存路径。例如:

  'images' => [
        'driver' => 'local',
        'root' => base_path().'/app/public/files',
    ],

在代码本身中,使用以下代码保存:

存储::disk('images')->put($path, $image);


推荐阅读