我将http://image.intervention.io/与 Laravel 一起使用来调整图像大小,然后再将它们存储在 AWS S3 存储桶中。这是适用的代码:
$extension = $image->extension();
$realPath = $image->getRealPath();
$resizedImage = Image::make($realPath) // ->resize(255, 255); // resize or not, make() seems to always return an empty Image
$file_path = "posts/$post->id/images/image-$post->id-num-$pictureCount.$extension/";
$path = Storage::disk('s3')->put($file_path, $resizedImage->__toString(), ['visibility' => 'public']);
调试时($path设置了行上的断点),我可以看到它$realPath的值类似于/private/var/folders/23/jl2dytp168g9g9s5j51w2m780000gn/T/php9047Fh- 并且去那里我可以看到我正在尝试make()/的图像resize()。
该$resizedImage对象具有以下字段:
[encoded] =>
[mime] => image/jpeg
[dirname] => /private/var/folders/23/jl2dytp168g9g9s5j51w2m780000gn/T
[basename] => phpTNRdXe
[extension] =>
[filename] => phpTNRdXe
我猜编码的属性应该包含基本 64 位图像数据之类的东西?
检查 AWS S3 存储桶中的图像时,它总是作为 0 字节的图像上传。我在这里做错了什么?
干预配置为使用 GD,如果它有任何区别
白衣染霜花