保存图像实例时,出现错误“无法写入未定义的路径”。
$image_arr = [];
forEach($postInfo->selectedImages as $key => $image){
$imageExt = explode(";",explode('/', $image->liveImage)[1])[0];
$imageEncoded = explode(",", $image->liveImage)[1];
$imageDecoded = base64_decode(explode(",", $image->liveImage)[1]);
$imageName = rand(111111111, 999999999) . '.' . $imageExt;
Storage::disk('s3')->put('uploads/' . $imageName, $imageDecoded, 'public');
$imagePath = "https://instagrizzle-development.s3.amazonaws.com/uploads/" . $imageName;
array_push($image_arr, $imagePath);
$imageFiltered = Image::make($imagePath)->fit(1200, 1200);
$imageFiltered->save();
};
根据Image Intervention文档,您可以将base64或url传递到make()命令中。我尝试将url传递到aws s3存储桶,将make命令移至s3上传之前,并传递endcode和解码后的base64以及data:image / png; base64,。我收到同样的“无法写入未定义的路径”错误,并且保存到s3的图像为空白,0kb。我以为这可能是存储分区上的写权限,但是我在使用base64版本时遇到了相同的错误。