据我所知,Imazen ImageResizer可以作为国际空间站的嵌入式解决方案。这意味着,例如,位于同一IIS I中的CMS将通过查询参数以调整的大小自动传递图像。这是如何配置的,可以是在这里发现的。
问题是,如何使用Imazen的ImageFlow立即实现这一点?与当时的ImageFlow一样,ImageResizer也会在交付图像时自动传递被IIS调整大小的图像。
目前,我只在使用ImageFlow-dotnet服务器开发和部署API以检索缩放的图像时找到解决方案。但是,这样做的缺点是,在直接通过img标记的src-属性进行查询时,不能提供凭据,因此不可能对内容进行保护。例如,如果CMS将交付的内容与图像和ImageFlow只是缩放的图像交付,我有自动认证的CMS保护。
您是否有任何想法或方法在一个自我托管的IIS中使用ImageFlow的嵌入式解决方案,比如ImageResizer支持?
更新#1 / 2020-07-23 /扩展说明
我使用的是CMS DNN (DotNetNuke),img标记中的图像路径与/Portals/1/myImage.jpg类似.因此,对于ImageResizer,我只需添加查询参数,以便在将内容传递给客户端之前调整大小,如/Portals/1/myImage.jpg?width=400。这是可能的,因为我通过将ImageResizer.dll添加到IIS并扩展web.config来使用嵌入式解决方案。
对于ImageFlow,我已经实现了一个独立的ASP.NET核心网络应用程序,就像GitHub上描述的那样。因此,它部署在自己的IIS中,而不像DNN目录中的ImageResizer。因此,我必须通过ImageFlow API (如https://my-img-flw/Portals/1/myImage.jpg?width=400 )加载映像,因为ImageFlow服务可以通过文件系统访问DNN文件。这是由.SetMapWebRoot(false).MapPath("/", physicalPath)配置的。但这不是ImageResizer提供的嵌入式方法,因为我有两个独立的IIS。
如果需要进一步的信息,请告诉我。谢谢已经提前了!
发布于 2020-07-23 20:06:57
因为Imageflow.NET服务器是为ASP.NET核心编写的,而且您是在ASP.NET 4.x上编写的,所以不能在同一个应用程序中使用它们并利用混合授权系统。您必须在ASP.NET核心中复制您的授权系统。
ImageResizer 5将将Imageflow引入到ASP.NET 4.x,因此您也可以考虑等待它。我们还没有紧急援助计划。
https://stackoverflow.com/questions/63035827
复制相似问题