gpt4 book ai didi

asp.net-mvc - 没有扩展名的 ImageResizer 和图像文件

转载 作者:行者123 更新时间:2023-12-02 02:07:11 24 4
gpt4 key购买 nike

我一直在使用 ImageResizer.net在我们的网络应用程序中很好,但现在我需要它来调整大小并提供没有(也不能)有文件扩展名的图像,比如这个:

http://localhost:58306/ClientImages/Batch/2012/12/10/f45198b7c452466684a4079de8d5f85f?width=600

在这种情况下,我知道我的文件始终是 TIFF,但它们没有文件扩展名。

我有哪些选择?

/resizer.debug.ashx: https://gist.github.com/raw/9c867823c983f0e5be10/4db31cb21af8b9b36f0aa4e765f6f459ba4b309f/gistfile1.txt

更新

我遵循了计算机语言学家的指示:

    protected void Application_Start()
{
Config.Current.Pipeline.PostAuthorizeRequestStart +=
delegate
{
var path = Config.Current.Pipeline.PreRewritePath;
var clientImgsRelPath = PathUtils.ResolveAppRelative("~/ClientImages/");
var isClientImageRequest = path.StartsWith(clientImgsRelPath, StringComparison.OrdinalIgnoreCase);

if (isClientImageRequest)
Config.Current.Pipeline.SkipFileTypeCheck = true;
};


// other app start code here
}

http://localhost:58306/ClientImages/Batch/2012/12/10/92d67b45584144beb5f791aaaf760252?width=600 仅以未调整大小的原始图像响应。

这也被问到这里:http://imageresizing.net/docs/howto/cache-non-images#comment-571615564

这是在使用 Cassini 或 Visual Studio 网络服务器或任何你想调用的开发过程中发生的。

最佳答案

首先,您必须使用 IIS7 集成模式。经典模式将不起作用;它不允许 ASP.NET 访问无扩展请求

ImageResizer 无法知道无扩展名的 URL 是图像,除非您明确告诉它。

本文档解释:

http://imageresizing.net/docs/howto/cache-non-images

基本上,您最终将对您的 URL 执行逻辑(通常是 String.StartsWith),以确定 ImageResizer 是否应将文件视为图像。

Config.Current.Pipeline.PostAuthorizeRequestStart += delegate(IHttpModule sender, HttpContext context) {
string path = Config.Current.Pipeline.PreRewritePath;

//Skip the file extension check for everything in this folder:
if (path.StartsWith(PathUtils.ResolveAppRelative("~/folder/of/images"),
StringComparison.OrdinalIgnoreCase)){

Config.Current.Pipeline.SkipFileTypeCheck = true;
}
};

您应该在 global.asax 的 Application_Start 中注册此事件处理程序。

关于asp.net-mvc - 没有扩展名的 ImageResizer 和图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14387595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com