捕获的照片在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 景观

不是一个伟大的事态!