我将Plupload用作ASP.NET MVC Web应用程序中的文件上传器。

使用Chrome在PC上测试此Web应用程序后,我上传的照片将保持保存在硬盘上的照片文件的旋转状态。但是,当我通过电子邮件发送相同的照片并将它们保存在MAC上时,请检查MAC上的照片旋转是否与PC上的旋转相同,在使用Safari和Plupload上传时,文件的旋转是随机且不正确的。

Safari 6和8会发生此问题。

我不知道从哪里开始调试此问题,并且正在寻找有关从哪里开始调试的建议。

最佳答案

我通过查看jpeg文件中的EXIF元数据来解决此问题,这是在C#中的读取方式,我根据可能来自iPhone,iPod Touch和某些Android设备的几种方向旋转图像:

  using (
            System.Drawing.Image image = System.Drawing.Image.FromStream(new System.IO.MemoryStream(binaryImagedata))
            )
        {
            //image.Width = EndSheetWidth;

            PropertyItem[] properties = image.PropertyItems;

            int Orientation = 0;

            foreach (PropertyItem p in properties)
            {

                if (p.Id == 274)
                {

                    Orientation = (int) p.Value[0];

                    if (Orientation == 6)

                        image.RotateFlip(RotateFlipType.Rotate90FlipNone);

                    if (Orientation == 8)

                        image.RotateFlip(RotateFlipType.Rotate270FlipNone);

                    break;

                }

            }
//...more code
}//end using

关于ios - Plupload错误地旋转上传的照片,但仅在Safari上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28998064/

10-10 20:43
查看更多