图像不会显示MVC5

时间:2014-05-19 21:39:17

标签: asp.net-mvc asp.net-mvc-5

你好evryone(即时通讯使用MVC5), 我从Html Helper Extension中的Chart生成图像

    public static string GetUrlFromChart(this HtmlHelper helper, Chart chart)
    {
        lock (obj)
        {
            string path = HttpContext.Current.Server.MapPath("~/App_Data/graphs/");
            string filename = path + Guid.NewGuid() + ".jpg";
            chart.ToWebImage("jpg").Save(filename);
            return filename;
        }
    }

通过viewmodel我发送数据到视图,我试图向用户显示它们。

<img src="@Html.GetUrlFromChart(@Model.my_chart)" width="400" height="250"/>

图像生成正确,路径正确,但应用程序无法显示, 它唯一的白色矩形 enter image description here

当我将图像源复制到Windows资源管理器时。 enter image description here

我得到那张照片。

enter image description here

但似乎无法使用

<img></img>

任何人都知道如何显示System.Web.Helpers.Chart之类的图像,或者显示数据如图表?

1 个答案:

答案 0 :(得分:0)

你好伙计你应该返回图像而不是文件路径     我不知道这个Chart对象所以我只是将代码更改为通用的

将您的代码更改为:

 public static ActionResult GetUrlFromChart()
    {
        lock (obj)
        {
            string path = HttpContext.Current.Server.MapPath("~/App_Data/graphs/");
            string filename = path + Guid.NewGuid() + ".jpg";
            var image = chart.ToWebImage("jpg");
            //save your image.
            return File(image.GetBytes(),  "image/jpeg");
        }
    }

在视图中:

<img src="@Url.Action("GetUrlFromChart", "Yourcontrollername")"/>