如何在AWS S3中获取图像的尺寸,我';我是否可以使用Laravel中的存储门面进行访问?
我在AWS S3中存储了一些图像,我正在使用Laravel中的存储外观将它们显示在网页上 在一些情况下,我希望获得一些图像的尺寸,并将这些尺寸存储在DB中 我曾考虑在PHP中使用如何在AWS S3中获取图像的尺寸,我';我是否可以使用Laravel中的存储门面进行访问?,laravel,amazon-web-services,amazon-s3,getimagesize,laravel-storage,Laravel,Amazon Web Services,Amazon S3,Getimagesize,Laravel Storage,我在AWS S3中存储了一些图像,我正在使用Laravel中的存储外观将它们显示在网页上 在一些情况下,我希望获得一些图像的尺寸,并将这些尺寸存储在DB中 我曾考虑在PHP中使用getimagesize函数,但这些图像不是公开的,只能通过存储外观访问 如何获取这些图像的尺寸?多谢各位 编辑:我应该提到,这些图像处理都是为DB迁移而进行的,因此使用像JS这样的web前端解决方案来获取图像尺寸是不现实的。我提出了一个似乎可行的解决方案。基本上,我使用存储外观获取文件的二进制文件,然后使用imagec
getimagesize
函数,但这些图像不是公开的,只能通过存储外观访问
如何获取这些图像的尺寸?多谢各位
编辑:我应该提到,这些图像处理都是为DB迁移而进行的,因此使用像JS这样的web前端解决方案来获取图像尺寸是不现实的。我提出了一个似乎可行的解决方案。基本上,我使用存储外观获取文件的二进制文件,然后使用
imagecreatefromstring
、imagesx
和imagesy
函数获取图像的宽度和高度
下面是一个例子:
$contents = Storage::get($storageFilePath);
$im = imagecreatefromstring($contents);
$width = imagesx($im) ?? null;
$height = imagesy($im) ?? null;
我想出了一个似乎有效的解决办法。基本上,我使用存储外观获取文件的二进制文件,然后使用
imagecreatefromstring
、imagesx
和imagesy
函数获取图像的宽度和高度
下面是一个例子:
$contents = Storage::get($storageFilePath);
$im = imagecreatefromstring($contents);
$width = imagesx($im) ?? null;
$height = imagesy($im) ?? null;
您还可以使用开源库,它使用GD库和Imagick:
$image = \Image::make(Storage::get($storageFilePath));
$width = $image->width();
$height = $image->height();
您还可以使用开源库,它使用GD库和Imagick:
$image = \Image::make(Storage::get($storageFilePath));
$width = $image->width();
$height = $image->height();
好主意。谢谢,好主意。谢谢