我正在尝试获取图像exif数据,以便可以使用图像干预定向功能。

唯一的问题是我无法使用Storage::get()读取exif数据

首先,我要存储上传的图像,如下所示:

$filename = uniqid().'.'.$file->getClientOriginalExtension();
$path = "images/$id/$filename";
Storage::put($path, File::get($file->getRealPath()));

在队列中,我正在读取图像,进行一些调整大小并上传到AWS:
$image = Image::make(Storage::disk('images')->get("$this->id/$file"));
            $image->orientate();
            $image->resize(null, 600, function ($constraint) {
                $constraint->aspectRatio();
            });
            $image->stream('jpg', 85);
Storage::put("images/$this->id/main/$file", $image);
$image->destroy();

图像确实会调整大小并上传到AWS,但是唯一的问题是它将横向显示,因此看来我无法使用以下方式读取exif数据:
Storage::disk('images')->get("$this->id/$file")

我已经运行过:php -m |更多,我可以看到列出了“exif”,因此我在Laravel Forge DO服务器中拥有该模块

最佳答案

要从Image干预中获取exif数据,您必须运行exif()函数

这很简单,只需添加:

$image->exif();
exif()函数将在array()中返回所有现有数据;

您可以将参数传递给exif()函数,该函数将带回字符串中的某些信息,例如:$image->exif('model')
您可以在Image intervention website上阅读有关此内容的更多信息

关于php - Laravel Storage::get()不返回图像的exif数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40685885/

10-12 17:38