Wysyłam plik obrazu png do kontrolera w base64 przez Ajax. Już testowałem i jestem pewien, że kontroler otrzymał identyfikator, ale nadal nie może go zapisać w folderze publicznym.Laravel: Zapisz plik Basepp .png do folderu publicznego ze sterownika
Oto mój kontroler
public function postTest() {
$data = Input::all();
//get the base-64 from data
$base64_str = substr($data->base64_image, strpos($data->base64_image, ",")+1);
//decode base64 string
$image = base64_decode($base64_str);
$png_url = "product-".time().".png";
$path = public_path('img/designs/' . $png_url);
Image::make($image->getRealPath())->save($path);
// I've tried using
// $result = file_put_contents($path, $image);
// too but still not working
$response = array(
'status' => 'success',
);
return Response::json($response );
}
Dzięki za odpowiedź! Zawsze używam public_path() w ten sposób i działa dobrze. I myślę, że problemem jest również metoda Input :: file. Więc teraz rezygnuję z używania go: P. sprawdź moją odpowiedź! – Expl0de
Ścieżka nie jest problemem i nie jest wymagana, tylko '$ path ="/img/designs/". $ png_url' wystarczy. –