我正在尝试获取图像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/