0

我有一个 ActionResult 在http://example/image.png

有没有办法确定是否正在请求 URL

<img src="http://example/image.png" />

或者是从

<a href="http://example/image.png" target="_blank" />

?

所以我可以控制结果...

public ActionResult ViewPhoto()
{
    if (<img src />)
    {
        return File();
    }
    else
    {
        return View();
    }
}
4

4 回答 4

3

不,没有办法知道问题中的格式。如果您拥有链接来自的站点,那么我建议您在查询字符串上附加一些内容以帮助您的服务器端处理。

于 2011-04-19T02:52:18.287 回答
1

您可以检查是否Request.Headers["Accept"]不包含该字符串"html"

于 2017-07-07T07:27:46.033 回答
0

如果这是一个网页,我认为您可以尝试使用Request.UrlReferrer,或ServerVariables["HTTP_REFERER"]根据您的需要。前者返回一个URI对象,后者返回字符串。

但前提是您已使用 ActionResult ViewPhoto() 方法

于 2011-04-19T02:23:26.753 回答
0

您可以在图像上放置一个 GET 参数,例如

<img src="http://example/image.png?x=view" />

<a href="http://example/image.png?x=file" target="_blank" /> 

这对你有用吗?

于 2011-04-19T03:14:16.567 回答