是否可以检查请求是否是从 IMG 标签发出的?
我在 http://example/image.png
有一个 ActionResult
有没有办法确定 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();
}
}
I have an ActionResult at http://example/image.png
Is there a way to determine if the URL is being requested from
<img src="http://example/image.png" />
Or was opened from
<a href="http://example/image.png" target="_blank" />
?
So I can control the result with...
public ActionResult ViewPhoto()
{
if (<img src />)
{
return File();
}
else
{
return View();
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不,无法通过问题中的格式知道。如果您拥有该链接所来自的网站,那么我建议您在查询字符串上附加一些内容以帮助您的服务器端处理。
No there is no way with the format in the question to know. If you own the site that the link is coming from then I recommend you append something on the query string to help your server side processing.
您可以检查
Request.Headers["Accept"]
是否不包含字符串"html"
。You can check if
Request.Headers["Accept"]
does not contain the string"html"
.如果这是一个网页,我认为您可以根据您的需要尝试使用
Request.UrlReferrer
或ServerVariables["HTTP_REFERER"]
。前者返回 URI 对象,后者返回字符串。但这是前提是你已经转到了 ActionResult ViewPhoto() 方法
If this is a web page, I think that you can try out with
Request.UrlReferrer
, orServerVariables["HTTP_REFERER"]
depending on your needs. The former returns a URI object, the latter returns string.But this is provided that you have gone to the ActionResult ViewPhoto() method
您可以在图像上放置一个 GET 参数,例如
,
这对您有用吗?
You could put a GET param on the image, like
and
Would that work for you?