我通過Ajax向base64中的控制器發送png圖像文件。我已經測試並確定控制器已收到ID,但仍無法將其保存到公用文件夾。Laravel:將Base64 .png文件保存到控制器的公用文件夾中
這裏是我的控制器
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 );
}
感謝您的迴應!我總是這樣使用public_path(),它的工作正常。我認爲這個問題也是Input :: file方法。所以現在我放棄了使用它:P。檢查我的答案! – Expl0de 2014-11-06 18:12:44
路徑不是問題,也不是必需的,只有'$ path =「/ img/designs /」。 $ png_url'就夠了。 – 2014-11-06 18:28:43