我正在开发一个涉及将图像上传到服务器的功能的网络应用程序。我正在使用 Laravel。问题是当我上传照片时,Laravel 正在旋转图像。
这是我上传图片文件的代码。
$request->file('image_file')->store('images');
上传图片只需一行代码。
我上传了这张图片。
然后,照片在服务器上旋转,变成了这个样子。我在 HTML 标记中显示图像。
所以,有什么问题。如何阻止照片旋转?
最佳答案
当您使用移动相机拍摄图像时会发生这种情况。
您可以使用exif_read_data() 查看图像数据
但如果您想以原始方式存储它,您可以使用intervention/image
package .
并使用orientate()改变它。这是一个例子
$img = \Image::make($request->file('image_file')->getRealpath());
$img->orientate();
但是如果你不想使用Package
你可以试试
$exif = exif_read_data($request->file('image_file'));
if(!empty($exif['Orientation'])) {
switch($exif['Orientation']) {
case 8:
$image = imagerotate($image,90,0);
break;
case 3:
$image = imagerotate($image,180,0);
break;
case 6:
$image = imagerotate($image,-90,0);
break;
}
}
希望这对您有所帮助。
关于php - Laravel 在上传时旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50277697/