在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、可以通过前端进行解决,本案例通过后端解决的 判断请求的浏览器的ua,如果是ios浏览器则进行90度旋转 重点来了: 必须确保检测的图片是ios设备上传的完整图片,不要在前端压缩过的,因为压缩后的图片都是通过Canvas重新生成的新图片,所以不包含相关扩展信息 如果前端要压缩请在前端获取扩展信息或者直接在前端转角度(从原始文件中获取扩展信息) 前端处理方案 请百度 exif.js if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')||strpos($_SERVER['HTTP_USER_AGENT'], 'iPad')){ try{ $picAddr=$_FILES['file']['tmp_name']; $exif = @exif_read_data($picAddr); if(isset($exif['Orientation'])){ $image = imagecreatefromjpeg($picAddr); if($exif['Orientation'] == 3) { $result = imagerotate($image, 180, 0); imagejpeg($result, $picAddr, 100); } elseif($exif['Orientation'] == 6) { $result = imagerotate($image, -90, 0); imagejpeg($result, $picAddr, 100); } elseif($exif['Orientation'] == 8) { $result = imagerotate($image, 90, 0); imagejpeg($result, $picAddr, 100); } isset($result) && imagedestroy($result); imagedestroy($image); } }catch(\Exception $e){ //echo $e->getMessage(); } }
没踩坑一次 进步一点点 |
2022-07-29
2022-08-30
2022-08-17
2022-11-06
2022-08-18
请发表评论