1

我有一个页面作为我的 IIS 7 (ASP.NET) 网站的一部分,它提供来自数据库的图像。它使用查询字符串来选择图像并适当地设置内容类型标题 (image/jpeg),例如,image.aspx?ID=1234 将在浏览器中显示为 jpeg 图像。

我想做的是提供一个以 image/1234.jpg 之类的方式形成的 URI,它会产生相同的结果。换句话说,在服务器上并没有真正的名为 1234.jpg 的文件,它只是一个数据库记录的内容,但从浏览器的角度来看,它看起来好像有这样一个文件。

我确信这是可能的,但我不知道它是如何完成的,或者在哪里寻找答案。我认为这可能是通过 ISAPI 过滤器完成的,但我还没有找到进入文档的可访问路径,以了解这是否是解决方案的正确基础。

4

1 回答 1

0

这里最好的选择可能是实现一个 URL 重写规则,该规则更改image/1234.jpgimage.aspx?ID=1234

您可以在此处找到有关 IIS 的 URL 重写的更多信息。

如果出于某种原因,URL 重写不是您的选择,那么另一种可能的方法可能是实现自定义 404 页面。当您对 image/1234.jpg 的请求没有生成真实文件时,它会在那里结束。

此时您应该能够检测到 URI 并提供图像。

于 2013-06-18T23:18:04.617 回答