ios - Plupload 错误地旋转上传的照片,但仅限于 Safari

标签 ios asp.net-mvc file-upload safari

我在 ASP.NET MVC 网络应用程序中使用 Plupload 作为我的文件 uploader 。

在 PC 上测试此 Web 应用程序,使用 Chrome,我上传的照片保持在硬盘驱动器上保存的照片文件的旋转。但是当我通过电子邮件发送相同的照片并将它们保存在 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/

相关文章:

javascript - 文件上传前自定义紧凑jquery文件大小检查解决方案

jquery - 如何将值传递给 ajaxUpload 函数?

ios - 如何让cocos2d v1.0.1支持Retina?

iphone - 如何在通用应用程序中为 iPhone 和 iPad 设置不同的部署目标

asp.net-mvc - Ajax.BeginForm 刷新 View 而不是更新目标 id

c# - 使用编辑器模板处理可空类型

iphone - 如果 Mac 中有多个同名的 XCode 项目,如何找到当前正在运行的 XCode 项目的位置?

iOS - 在 WKWebView 中使用 cookie

jquery - 如何使用 mvc 中的表单发布方法从 Controller 操作打开弹出窗口

google-app-engine - 文件上传 google app engine blobstore