我正在使用ImageResizer并使用Owin StaticFiles 像:
app.UseStaticFiles(new StaticFileOptions
{
RequestPath = new PathString("/photos/user"),
FileSystem = new PhysicalFileSystem(@".\uploads\photos"),
// EnableDirectoryBrowsing = true,
});
的web.config
<system.webServer>
<handlers>
...
<add name="Owin" verb="" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb" />
....
</handlers>
ImageResizing配置得很好我可以通过在webconfig中注释Owin处理程序来确认它
然而,当我同时使用它们时,我似乎无法使用ImageResizer
喜欢
http://localhost:7805/photos/user/admin.png?w=120
图片未调整为指定宽度
答案 0 :(得分:0)
我遇到了同样的问题,并找到了适合我的解决方案。如果对你来说太晚了,也许它可以帮助别人。
我为我的图片创建了以下中间件:
app.Use(async (ctx, next) =>
{
var endings = new[] { ".jpg", ".jpeg", ".png", ".gif" };
if (endings.Any(e => ctx.Request.Path.Value.EndsWith(e)) &&
ctx.Request.QueryString.HasValue &&
File.Exists(HostingEnvironment.MapPath(ctx.Request.Path.Value)))
{
var inputStream = File.OpenRead(HostingEnvironment.MapPath(ctx.Request.Path.Value));
var outputStream = ctx.Response.Body;
var job = new ImageJob(inputStream, outputStream, new Instructions(ctx.Request.QueryString.Value));
var cfg = new ImageResizer.Configuration.Config();
cfg.Build(job);
}
else
{
await next();
}
});
我把它放在我的Startup中的“UseStaticFiles”之前。当然,您可以根据自己的喜好/需求更改配置。