iOS拍的图片上传到服务器(阿里云)旋转

简介:

用ghost发文章(发到阿里云的CDN)的时候,发现上传的图片旋转了。比如这张图:

CDN效果

但是,在我的Mac本地上是正常的。像这样子的:

mac效果

打开预览的效果也是正常的。

mac预览效果

然后,我傻傻以为是Ghost的问题。其实并不是。

这里,要开始引出EXIF这个概念。


EXIF

EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息。

图像一旦被修改,Exif 信息可能会永久丢失,故编辑 Exif 必须使用专门的软件。

可以理解成,用来记录照片属性和拍摄数据的。

(可以附加于jpeg等文件中,但png图片中不会有。)


Orientation

EXIF中,有一个 Orientation 参数,用于记录照片生成时的方向。 
一共有8个值,分别是:1、2*、3、4*、5*、6、7*、8。

正常情况下,拍照只会出现是1、6、3、8这几个值。2、5、4、7相当于镜像,照像时不会出现这几种情况。1、6、3、8的效果分别是:

  • 1:0度(比如正常情况下我是这样拍摄的)

    1

  • 6:逆时针90度回到正常

    6

  • 3:180度回到正常

    3

  • 8:顺时针90度回到正常

    8


Mac上为什么会是正常的呢?

Mac之所以会显示正常,是因为Mac的图片“预览”功能会自动根据Orientation参数处理照片方向。但实际上,照片是旋转的。

  • 来看看实际参数是怎样的:

    用Mac的预览 工具 - 显示检查器

    查看图片的EXIF

    这里可以看到方向是6(逆时针旋转90度将回到正常)

    顺带说一下,可以看到好多EXIF参数信息(我是用pad拍的):

    参数信息


Windows平台上呢?

windows上默认的图片预览工具没有做处理,如果拍摄的时候是旋转的,那显示的也是旋转的。


在Mac上怎么转回来?

  1. 用Mac的“预览”功能打开,再Command + S保存,参数就改变了,上传的图片就正了。

    修正后的图片

    于是, Orientation参数就从6(逆时针旋转90度回到正常)变为了1(正常)。

    6变为1

  2. 利用专业的修改EXIF的工具

    暂时没有用过,欢迎推荐好用的工具。


关于前端获取EXIF

有一个框架可以读取图像的原始数据:Exif.js。IE10以下不兼容。

demo效果:http://code.ciaoca.com/javascript/exif-js/demo/ 
github地址:https://github.com/jseidelin/exif-js/

目录
相关文章
|
10月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
10月前
|
弹性计算 运维 安全
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
在阿里云当下的活动中,38元/年的轻量应用服务器与99元/年的云服务器ECS成为众多新用户的关注焦点。但是有部分用户并不是很清楚二者之间的区别,因此就不知道应该如何选择。接下来,笔者将为您详细剖析ECS云服务器与轻量应用服务器的差异,以供您参考和选择。
909 4
阿里云轻量应用服务器38元1年和云服务器99元1年怎么选?二者性能区别及选择参考
|
10月前
|
存储 监控 安全
阿里云渠道商:云服务器价格有什么变动?
阿里云带宽与存储费用呈基础资源降价、增值服务差异化趋势。企业应结合业务特点,通过阶梯计价、智能分层、弹性带宽等策略优化成本,借助云监控与预算预警机制,实现高效、可控的云资源管理。
|
10月前
|
存储 弹性计算 监控
阿里云渠道商:如何挑选阿里云服务器配置?
本文详解通用型、计算型、内存型等实例适用场景,结合性能评估与成本优化策略,助力用户按需选择。以日均1万访问企业网站为例,2核4G+3M带宽月费约200元,性价比高。合理配置更省钱。
|
10月前
|
弹性计算 运维 安全
区别及选择指南:阿里云轻量应用服务器与ECS云服务器有什么区别?
阿里云轻量应用服务器适合个人开发者、学生搭建博客、测试环境,易用且性价比高;ECS功能更强大,适合企业级应用如大数据、高流量网站。根据需求选择:轻量入门首选,ECS专业之选。
661 2
|
10月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
836 10
|
10月前
|
弹性计算
阿里云8核16G云服务器收费标准:最新价格及省钱购买方法整理
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1约673元/月,一年仅需4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
10月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
872 8