我正在开发一个涉及将图像上传到服务器的功能的Web应用程序.我正在使用Laravel.问题是当我上传照片时,Laravel正在旋转图像.
$request->file('image_file')->store('images');
然后,照片在服务器上旋转,变成这样.我在HTML标记中显示图像.
那么,出了什么问题.如何阻止照片旋转?
解决方法:
使用移动相机捕获图像时会发生这种情况.
您可以使用exif_read_data()查看图像数据
但如果您想以原始方式存储它,可以使用干预/图像package.
并使用orientate()进行更改.这是一个例子
$img = \Image::make($request->file('image_file')->getRealpath());
$img->orientate();
但如果您不想使用该套餐,您可以尝试
$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;
}
}
希望这可以帮助.