Asp.net 图表流未正确呈现
我的控制器,简而言之是:Asp.net 图表流未正确呈现,asp.net,jquery,asp.net-mvc,Asp.net,Jquery,Asp.net Mvc,我的控制器,简而言之是: chart1.SeriesCollection.Add(SC); using (MemoryStream ms = chart1.GetChartStream()) { return File(ms.ToArray(), "image/png"); } 我的看法是: $('#targetDiv').load("Home/GetImage"); 渲染时,我会得到乱码
chart1.SeriesCollection.Add(SC);
using (MemoryStream ms = chart1.GetChartStream())
{
return File(ms.ToArray(), "image/png");
}
我的看法是:
$('#targetDiv').load("Home/GetImage");
渲染时,我会得到乱码字符。有什么想法吗
谢谢,
rodchar您需要使用
img
标签:
<img src="Home/GetImage" alt="" />
当您编写
$('#targetDiv').load(“Home/GetImage”)
您的基本意思是:使用Ajax将GET请求发送到Home/GetImage
,如果请求成功,则使用结果更新#targetDiv
的内容。当控制器操作发送二进制数据时,该二进制数据将被注入div。您需要使用img
标记:
<img src="Home/GetImage" alt="" />
当您编写
$('#targetDiv').load(“Home/GetImage”)
您的基本意思是:使用Ajax将GET请求发送到Home/GetImage
,如果请求成功,则使用结果更新#targetDiv
的内容。当控制器操作发送二进制数据时,该二进制数据将被注入到div中。您应该设置响应的内容类型,以适应发送回图像的事实。如果您不这样做,您的二进制流将被解释为文本,因此您会得到乱码
这里有一个相关的问题:您应该设置响应的内容类型,以适应发送回图像的事实。如果您不这样做,您的二进制流将被解释为文本,因此您会得到乱码
这里有一个相关问题:在阅读文件并将其发回之前,请尝试将其添加到代码中
this.Response.Clear();
this.Response.ContentType = "image/png";
在标记端,您需要将内容放在图像标记中,而不是放在div中。在读取文件并将其发送回之前,尝试将其添加到代码中
this.Response.Clear();
this.Response.ContentType = "image/png";
在标记端,您需要将内容放入图像标记中,而不是将其放入div。+1。使用Ajax的正确方法是将img标记的“src”属性设置为新值(例如getimage?value1=&value2等)+1。使用Ajax的正确方法是将img标记的“src”属性设置为新值(例如getimage?value1=&value2等)。感谢大家的帮助,rod。感谢大家的帮助,rod。