使用Laravel 5.8将图像上传到两个不同的文件夹位置

时间:2019-05-27 06:45:43

标签: laravel

此代码仅将图像保存在一个文件夹中。我想同时在两个不同的文件夹中上传图片, 例 文件夹一 和 文件夹二

我的控制者

protected function validator(array $data)
{
    return Validator::make($data, [

       'photo_jpeg' => 'required|image|mimes:jpeg,png,jpg|max:2048',


    ]);
}
protected function create(array $data)
{
    $photo_jpeg= time() . '.' . $data['photo_jpeg']->getClientOriginalExtension();
            $data['photo_jpeg']->move(base_path() . 'public/folder-one', $photo_jpeg);

return user::create([

        'photo_jpeg' => $photo_jpeg,


       ]);

}

2 个答案:

答案 0 :(得分:2)

请确保这些内容。如果要在其他位置更新文件。

  1. 该文件夹必须具有可写权限。
  2. 目录路径应定义为绝对路径,并指向正确的位置。

现在更改,请按照以下步骤验证代码更改。

$fileName = time() . '.' .$request->file('User_jpeg')->getClientOriginalExtension();

$storageLocation = '../../WEBSITE-FILE/TEAM/USER';  //it should be absolute path of storage location.

$request->file('User_jpeg')
        ->storeAs($storageLocation, $fileName);

$request->file('User_jpeg')
        ->storeAs($storageLocation . '/User_Profile_Image', $fileName);

编辑:

根据请求的当前状态,尝试此操作。

public function store(Request $request) { 
    $this->validate($request, [ 'image' => 'required|image|mimes:jpeg,png,jpg|max:2048', ]); $input['image'] = time().'.'.$request->image->getClientOriginalExtension();

    $request->image->move(public_path('folder-a'), $input['image']);

    $fileSrc = public_path('folder-a') . $input['image'];
    $fileDest = public_path('folder-b') . $input['image'];

    \File::copy($fileSrc, $fileDest);

    Service::create($input); 

    return back()->with('success',' CREATED SUCCESSFULLY .'); 
}

答案 1 :(得分:0)

在控制器中:

public function store(Request $request){

        if($request->User_jpeg != ''){ //check file has selected 

            $file = $request->User_jpeg;

            $path = base_path('public/folder-one/');

            $filename = time() . '_' . $file->getClientOriginalName();

            $file->move($path, $filename); 

            \File::copy($path.$filename,base_path('public/folder-two/'.$filename));
        }

        user::create([
            'photo_jpeg' => $filename,
        ]);

    }

在路由文件(web.php)中:

Route::post('save-image', 'YourController@store');