访问控制器中的图像

Posted

技术标签:

【中文标题】访问控制器中的图像【英文标题】:Access image in controller 【发布时间】:2013-03-14 10:24:03 【问题描述】:

我可以创建一个只返回图像的控制器吗?

每当请求变量[LOGO] 时,我想通过控制器路由此逻辑,

控制器将查找logo.png并将图像替换为变量[LOGO]

我不想使用视图。我想只用控制器来完成这一切。

这可能吗?

我通过以下代码尝试了一些方法,

EmailHelper.SendEmail(
    Constants.EmailSender.CandidateSupport,
    candidate.Email,
    Constants.EmailSubject.CandidateUpdateProfile,
    Constants.EmailBody.CandidateUpdateProfile
    .Replace("[LOGO]", Url.Content("~/Content/Images/logo_small2.png"))

【问题讨论】:

【参考方案1】:

我不完全确定您需要什么,但回答“我可以创建一个只返回图像的控制器吗?”你可以这样做:

public FileResult Image(string filePath)

    //get your stream
    return File(stream, "image/png");

鉴于您要从文件系统返回项目,显然您需要考虑安全性。

【讨论】:

我不需要这种类型。我想从控制器中检索图像。无需退货。 那么,如果你能澄清你想要什么,那就太好了——“从控制器中检索图像”是什么意思? 好的。实际上,我使用电子邮件为“免责声明”创建了一个模型。在那个模型中,我创建了一些变量,然后在控制器中使用 replace 方法然后我访问。在这种情况下,我必须发送带有“徽标”的邮件。在该模型中,仅在 @""+ 中分配值。但是图像标签在这里不起作用。所以我为 [ImageLink] 创建了一个变量。然后我将变量 [ImageLink] 替换为 .replace("[ImageLink]",Url.Content("~/Content/Images/logo_small2.png")) 之类的路径。这是我的问题。没有人发现这个..如果有人意味着请帮助我。 听起来你不应该用普通的 MVC 管道解决这个问题,不合适。

以上是关于访问控制器中的图像的主要内容,如果未能解决你的问题,请参考以下文章

如何访问其他控制器类中 UIImageView 子类中声明的图像属性?

图像加载上的访问控制允许来源问题

S3 访问控制允许来源

从 nsbundle 访问图像

在 UIPageViewController 中访问已创建的视图控制器

Java中的访问控制符