0

据我所知,Imazen ImageResizer 可以用作 ISS 中的嵌入式解决方案。这意味着,例如,位于同一 IIS 中的 CMS I 将通过查询参数自动提供调整大小的图像。如何配置可以在这里找到

问题是,如何使用 Imazen 的 ImageFlow 立即实现这一点?同理,ImageFlow 和当时的 ImageResizer 一样,在投递时会自动投递 IIS 调整大小的图像。

目前,我只找到了使用 ImageFlow-dotnet-server 开发和部署 API 以检索在其上缩放的图像的解决方案。然而,这有一个缺点,即当直接通过 img-Tag 的 src 属性进行查询时,无法提供凭据,因此无法保护内容。例如,如果 CMS 将交付带有图像的内容,而 ImageFlow 只是在交付时缩放图像,我会自动对 CMS 进行身份验证以进行保护。

对于像 ImageResizer 支持的自托管 IIS 中的 ImageFlow 嵌入式解决方案,您有什么想法或方法吗?


更新 #1 // 2020-07-23 // 扩展描述

我正在使用 CMS DNN (DotNetNuke),img-Tag 中的图像路径是相对的,如/Portals/1/myImage.jpg. 因此,使用 ImageResizer,我只需添加查询参数以调整大小,就像/Portals/1/myImage.jpg?width=400在将内容交付给客户端之前一样。这是可能的,因为我通过将 ImageResizer.dll 添加到 IIS-Web 根目录并扩展 web.config 来使用嵌入式解决方案。
对于 ImageFlow,我已经实现了一个独立的 ASP.NET Core Web 应用程序,如GitHub 上所述。所以它部署在自己的 IIS-Web 中,不像 DNN IIS-Web 目录中的 ImageResizer。因此,我必须通过 ImageFlow API 加载图像https://my-img-flw/Portals/1/myImage.jpg?width=400,因为 ImageFlow 服务可以通过文件系统访问 DNN 文件。这是由.SetMapWebRoot(false).MapPath("/", physicalPath). 但这不是 ImageResizer 提供的嵌入式方法,因为我有两个独立的 IIS-Web。

如果需要更多信息,请告诉我。提前致谢!

4

1 回答 1

0

因为 Imageflow.NET Server 是为 ASP.NET Core 编写的,并且您使用的是 ASP.NET 4.x,所以您不能在同一个应用程序中使用它们并利用混合授权系统。您必须在 ASP.NET Core 中复制您的授权系统。

ImageResizer 5 会将 Imageflow 引入 ASP.NET 4.x,因此您也可以考虑等待。我们还没有预计到达时间。

于 2020-07-23T20:06:57.293 回答