我正在使用 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