【问题标题】:<img src="C:/Some_File"> in ASP.net MVC [closed]<img src="C:/Some_File"> 在 ASP.net MVC [关闭]
【发布时间】:2017-08-26 20:49:16
【问题描述】:

我知道有人问过很多类似的问题,但没有一个答案对我有任何帮助。几乎,我正在处理一个 MVC 项目和一个其他人从以前的桌面应用程序创建的 CL 项目,该应用程序实际上应该是一个 Web 应用程序(漫长而令人沮丧的故事)。他这样做是为了以编程方式生成的图像存储在用户的 C:/ 驱动器上,然后再显示,这在桌面应用程序中运行良好,但在 Web 应用程序中则不然。

我试过&lt;img src="file:/filepath"&gt;,但没有运气。我知道我无法直接访问用户 C:/ 驱动器上的文件,应该将图像上传到服务器然后从那里开始,但我不知道该怎么做,我希望有人可以为我指明正确的方向。

【问题讨论】:

  • 你有没有试过把图片转换成数据通过src="data:image..."显示出来?
  • 您能否展示您尝试过的其他一些答案并解释为什么它们没有任何帮助?我担心我们说的任何话也无济于事。
  • @DourHighArch link 这是我找到的几个之一。他们中的大多数只是说“这是一个安全漏洞”然后就停下来,或者说在文件位置之前使用 file:/。
  • 我还应该提到,我查看的大多数线程主要是针对初学者的 HTML。正如@CrudaLilium 和 Cristian 的回答所提到的,看起来 data:image 路线肯定是要走的路。
  • @CrudaLilium,这样做就成功了!对不起,我不能给你一个明显的答案或任何东西,但你是第一个建议它的人。谢谢大家!

标签: c# html asp.net-mvc asp.net-mvc-4


【解决方案1】:

假设您将图像存储为:

public byte[] MyImage { get; set; }

你可以把它传递给视图:

public ActionResult Index()
{
    ViewBag.MyImage = Convert.ToBase64String(MyImage);
    return View();
}

在您的视图中显示如下:

<img src="data:image/png;base64,@ViewBag.MyImage" />

【讨论】:

    猜你喜欢
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2014-01-21
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多