图像存储,但在laravel API中未显示正确的路径

问题描述 投票:0回答:1

如何在数据库中实际存储路径,如何在API中获取图像?这是邮递员enter image description here

中的API输出

这是显示图像存储路径但错误的数据库。

enter image description here

 public function store(Request $request)
    {
        
        $event = $request->all(); 
           if ($request->hasFile('file')) {
$destinationPath = public_path().'/public/img/';
$file = $request->file;
$fileName = time() . '.'.$file->clientExtension();
$file->move($destinationPath, $fileName);
$input['e_image'] = $fileName;
}

            // $return['success'] = true,
            // $return['data'] = $event,
            // $return['msg'] = "this is message ";
             $success['status'] = true;
             $success['data'] = [$event];
             $success['message'] ="Event created successfully!";
             // $success['event'] = $event;
             return response()->json($success); 
    }
laravel laravel-5 laravel-4 postman laravel-api
1个回答
0
投票

请尝试此操作,并将图像以唯一的图像名称存储在正确的项目目录中。

                $img = $request->profile_image;
                $old_path = public_path() . "/public/img/";
                $image_parts = explode(";base64,", $img);
                $image_type_aux = explode("image/", $image_parts[0]);
                $image_type = $image_type_aux[1];
                $image_base64 = base64_decode($image_parts[1]);
                $filename = uniqid() . '.png';
                $file = $old_path . $filename;
                file_put_contents($file, $image_base64);
                
                if (file_exists(public_path('/public/img/' . $filename))) {
                   //move image
                   $new_path = public_path() . "/public/img/newimages/";
                   if (!is_dir($new_path)) {
                       mkdir($new_path, 0777, TRUE);
                   }
                   $move = File::move($old_path . $filename, $new_path . $filename);
               }
               
               //upload image at database
               $modalObj = new table();
               $modalObj->updateById(\Session::get('table')->id, [
                   'profile_photo' => $filename,
               ]);
               return response()->json(['code' => '1', 'message' => 'Image Uploaded successfully!!!', 'data' => ['imageName' => url('/public/img/newimages/' . $filename)]]);
© www.soinside.com 2019 - 2024. All rights reserved.