php – Laravel在上传时旋转图像

我正在开发一个涉及将图像上传到服务器的功能的Web应用程序.我正在使用Laravel.问题是当我上传照片时,Laravel正在旋转图像.

这是我上传图片文件代码.

$request->file('image_file')->store('images');

只需一行代码即可上传图片.

上传了这张图片.

enter image description here

然后,照片在服务器上旋转,变成这样.我在HTML标记显示图像.

enter image description here


那么,出了什么问题.如何阻止照片旋转?

解决方法:

使用移动相机捕获图像时会发生这种情况.

您可以使用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;
    }
}

希望这可以帮助.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...