在处理ImageJob期间,我遇到了一些旋转图像的问题.
我在检测从某些(现代)移动设备上传的图像的正确旋转时遇到问题.
这些图像来自iPad mini和Galaxy S5.我正在拍摄肖像照片,但上传后会旋转并调整大小.如果我拍摄风景图片,处理工作正常.
我尝试过使用autorotate插件,但这似乎没什么区别.
代码是基本的,适用于某些图像,但不适用于上面提到的其他图像.
HttpPostedFileBase file = base.Request.Files["photo"];
ImageResizer.ImageJob i =
new ImageResizer.ImageJob(file,
"~/OrigFiles/" + cvm.Id + ".<ext>",
new ImageResizer.Instructions("width=768;height=1024;format=jpg;mode=max;autorotate=true;"));
i.CreateParentDirectory = true;
i.Build();
Run Code Online (Sandbox Code Playgroud)
我将手机中的照片通过电子邮件发送到我的笔记本电脑并上传了它,这很好用,这很奇怪.这可能是移动浏览器上传问题吗?在新设备上,iOS Safari和Chrome都会出现此问题.奇怪的是,在较老的第一代Nexus 7肖像图像上工作.
进一步说明
这是诊断:
You are using plugins from the Creative Edition: DiskCache (Performance Edition), WatermarkPlugin (Creative Edition)
Registered plugins:
ImageResizer.Plugins.Basic.DefaultEncoder
ImageResizer.Plugins.Basic.NoCache
ImageResizer.Plugins.Basic.ClientCache
ImageResizer.Plugins.Basic.Diagnostic
ImageResizer.Plugins.Basic.SizeLimiting
ImageResizer.Plugins.MvcRoutingShim.MvcRoutingShimPlugin
ImageResizer.Plugins.DiskCache.DiskCache
ImageResizer.Plugins.Watermark.WatermarkPlugin
ImageResizer.Plugins.Basic.AutoRotate
Configuration:
<resizer>
<plugins>
<add name="MvcRoutingShim" />
<add name="DiskCache" />
<add name="Watermark" />
<add name="AutoRotate" />
</plugins>
<watermarks>
<otherimages path="~/watermarks" right="20" bottom="20" width="20" height="20" …Run Code Online (Sandbox Code Playgroud)