是否可以检查是否从IMG标签发出请求?

问题描述:

我在http://example/image.png是否可以检查是否从IMG标签发出请求?

一个ActionResult有没有一种方法,以确定是否从

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

被请求的URL或者从

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

被打开?

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

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

如果你想要一个不同的结果,那么也许你应该使用不同的图像?否则会产生不可维护的代码(谁,在几年后查看你的代码,会有任何想法,你做了这么奇怪的事情)? – 2011-04-19 02:20:34

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

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

但这前提是你已经去了的ActionResult ViewPhoto()方法

+0

我从' BrunoLM 2011-04-19 02:29:58

+0

oic,错过了那个,在那种情况下,你如何处理你的图像?处理网络,我相信你理解查询字符串。例如,在'image.png&location = blank'中。所以在你的viewPhoto方法中,你得到查询字符串的位置。尝试是否有帮助 – 2011-04-19 02:33:54

你可以把一个GET PARAM图像上,像

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

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

为你工作?

+0

我不会控制代码。用户可以更改/删除参数。 – BrunoLM 2011-04-19 10:46:29

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