В моем контроллере Laravel я пытаюсь взять строку данных png-изображения, а затем сохранить ее как png
в хранилище, используя put
:
$image_string = $request->get('image_string', false);
$filename = 'temp_image';
if ($image_string) {
$resource = imagecreatefromstring($image_string);
Log::debug("Storing image");
if ($resource !== false) {
Storage::put('public/' . $filename . '.png', imagepng($resource));
} else {
Log::error("Failed to get resource from string");
}
}
Если я отключу толькоimagecreatefromstring($image_string)
и imagepng($resource)
частей, файл создается как положено.Но где-то в Storage::put
изображение либо повреждено, либо потеряно, поскольку, хотя изображение с правильным именем файла и расширением существует, оно не имеет данных и при просмотре выглядит как черный ящик.
Есть ли другоекак мне обработать процедуру хранения изображений?