捕获的照片在iOS 6.0或iPhone上传期间自动旋转
我有一个HTML文件控制使用这个我想上传文件在服务器上。
- 点击文件控制
- 它会自动打开文件/相机select对话框。
- 我select相机
- 我拍下了照片并保存
- 现在提交表单
- 捕获照片成功保存在服务器上,但旋转90度。
这个问题是只有iPhone或IOS。
<input id="image" name="image" type="file" accept="image/*" capture style="width: 58px" />
请让我知道,如何从摄像头捕获的图像停止自动旋转。
谢谢,Imdadhusen
这可能与图像中的EXIF / TIFF元标记有关。
其中一个标签指示图像的方向。 你上传到服务器的一些照片(例如从iPhone)可能有这些标签,其他(从不同的来源/工作stream程)可能不会。 服务器可能会或可能不会保留这些标签,并且可能读取或不读取标签,以尝试正确定位图像。 同样,networking浏览器可能会或可能不会注意这些标签。 如果你上传的图片包含标签,结果肯定是不可预知的。
找出这个问题的一个好方法是从服务器上下载一个“问题”图像和一个“好”的图像,并且比较它们。 在预览中打开它们并检查检查器的第二个选项卡。 任何元信息将显示在那里。 看看一张图片是否有方向信息,另一张没有。 如果既不显示元信息,也很可能服务器将其全部剥离,而不是使用它,你可以忘记这个答案。
你也应该在不同的浏览器中比较。 一些浏览器读取这个方向信息并相应地旋转图像,而其他浏览器不这样做。
例如,我的肖像模式的iPhone照片有以下元标记:
- 像素高度:2,448
- 像素宽度:3,264
- 方向:6(旋转90°CCW)
本地位图的方向是风景 。
“方向”元标记表示图像阅读软件旋转到肖像进行显示。
(某些)图像软件使用元标记来正确地将图像旋转到纵向,而其他软件会将其忽略,从而将图像显示为横向。
这种情况令人困惑,并没有build立标准(标签只是一个提示),所以当为在线出版物准备图像时,最安全的事情就是在上传之前去掉这些标签并将图像旋转到正确的BITMAP方向。 如果您正在编写应用程序的服务器端,则可以在服务器上执行此操作。 但是以正确的BITMAP方向将图像传送到networking浏览器并且没有方向元标记是至关重要的。
为什么是这样? 因为即使在今天,不同的浏览器对元标记采取不同的方法。
我刚刚提到的iPhone图像显示如下:
谷歌浏览器24的肖像
Safari 6 肖像
火狐17 风景
歌剧12 景观
不是一个伟大的事态!