是否可以检查请求是否来自IMG标签?

时间:2011-04-19 02:17:58

标签: c# asp.net-mvc asp.net-mvc-3 view request-headers

我在http://example/image.png

处有一个ActionResult

有没有办法确定是否正在从

请求网址
<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 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

但是,您已经转到ActionResult ViewPhoto()方法

答案 2 :(得分:0)

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

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

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

这会对你有用吗?

答案 3 :(得分:0)

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