2014-05-19 34 views
0

你好evryone(使用im MVC5) 我生成HTML輔助擴展圖像將不顯示MVC5

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; 
     } 
    } 

通過視圖模型從圖表圖像I發送數據,以查看我試圖向他們展示給用戶。

<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像圖,或顯示數據?

+0

我想你'GetUrlFromChart'方法應該返回,是相對於Web根(例如/ App_Data文件/圖表/ {GUID,這裏},而不是一個完整的路徑爲路徑你現在。 –

+0

即時通訊對不起,即時通訊不是那個。 擴展名在解決方案的另一個項目中 – Jan3Sobieski

+0

根據文檔,「ToWebImage()」以「jpeg」或「png」作爲參數。 http://msdn.microsoft.com/en-us/library/system.web.helpers.webimage.imageformat(v=vs.111).aspx – mxmissile

回答

0

您好隊友,你應該返回到圖像,而不是文件路徑 我不知道這個圖表對象,所以我只是代碼更改您的代碼到一個通用的一個

變化:

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")"/> 
+0

和theres沒有辦法使用助手? – Jan3Sobieski