Umbraco 图像处理器不裁剪图像

Umbraco Image Processor not cropping images

关于 Umbraco ImageProcessor 不是裁剪器,存在与许多其他问题相同的问题。我目前使用的是 7.4 版,但 7.3 版也根本不会裁剪图像。

我使用的是 Azure Blob 存储,CDN 已按照配置设置进行了初步设置。

完整图像正在通过 Umbraco Back Office 上传到 Azure 存储,但已尝试各种格式的 URL 请求来拉取和裁剪图像,但 none 无论是 JPG 还是 PNG 文件都有效。根本没有裁剪,始终返回完整图像。

使用 fiddler,我可以看到请求将转到 Azure Blob 以检索图像,但无论裁剪大小如何,总是 returns 完整图像大小。

http://localhost:10876/media/1022/grower.jpg?center=0.70666666666666667,0.505&mode=crop&width=100&height=50&rnd=130950810990000000

包配置...

<package id="ImageProcessor" version="2.3.1.0" targetFramework="net452" />
  <package id="ImageProcessor.Web" version="4.4.1.0" targetFramework="net452" />
<package id="ImageProcessor.Web.Config" version="2.2.4.0" targetFramework="net452" />
 <package id="ImageProcessor.Web.Plugins.AzureBlobCache" version="1.0.5.0" targetFramework="net452" />
<package id="UmbracoFileSystemProviders.Azure" version="0.5.0-beta" targetFramework="net452" />

网络配置...

  <modules runAllManagedModulesForAllRequests="true">
  <remove name="WebDAVModule" />
  <remove name="UrlRewriteModule" />
  <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
  <remove name="UmbracoModule" />
  <add name="UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />
  <remove name="ImageProcessorModule" />
  <add name="ImageProcessorModule" type="ImageProcessor.Web.HttpModules.ImageProcessingModule, ImageProcessor.Web" />
  <remove name="ScriptModule" />
  <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <remove name="ClientDependencyModule" />
  <add name="ClientDependencyModule" type="ClientDependency.Core.Module.ClientDependencyModule, ClientDependency.Core" />
  <!-- Needed for login/membership to work on homepage (as per  -->
  <remove name="FormsAuthentication" />
  <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
</modules>

 <httpModules>
  <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
  <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <add name="UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />
  <add name="ImageProcessorModule" type="ImageProcessor.Web.HttpModules.ImageProcessingModule, ImageProcessor.Web" />
  <add name="ClientDependencyModule" type="ClientDependency.Core.Module.ClientDependencyModule, ClientDependency.Core" />
</httpModules>

我遇到的问题是由于 miss-understanding 关于如何在 security.config 文件中设置 CloudImageService。如前所述,我在单步执行代码时发现,虽然我配置了远程图像服务,但它并没有使用它。关键是 CloudImageService 中的前缀属性必须设置为 Media/ 以便它与图像对齐 URL 路径以 .. http://localhost:1234/media/image.png... 正确设置后,我现在可以在请求不同 width/height 等时看到更改。这只花了我一周的时间来解决。

我遇到了类似的问题,但是我在网上阅读的 none 解决方案有效,或者我的配置已经按照建议设置,我手动检查了所有 dll 版本,一切正常。

最终为我解决问题的是我将 .NET 版本从 4.5.2 更改为 4.6 这基本上破坏了我的构建,项目无法运行,所以我已恢复到 4.5.2,项目已构建并再次 运行,现在裁剪工作正常了!

我怀疑 .NET 版本无关紧要,但更改版本的行为清除了错误。