Jan 27, 2014, 11:43 AM
[CLOSED] while saving image on server it throwing No Response error
Hi,
while saving image on server image getting No Response error after successfully uploading of Image on server.
following is code
HTML markup
while saving image on server image getting No Response error after successfully uploading of Image on server.
following is code
HTML markup
Html.X().Button().ID("btnSaveImage").Text("Save Image")
.Scale(ButtonScale.Small).Icon(Icon.PageExcel).Type(ButtonType.Button)
.DirectEvents(de =>
{
de.Click.Url = Url.Action("GetReportGraphToExport", "InternalPricing");
de.Click.EventMask.ShowMask = true;
de.Click.Timeout = 50000;
de.Click.Before = "App.cntrGenerateReportGraph.removeAll();";
de.Click.FormID = "frmReportFilter";
de.Click.Failure = "Ext.Msg.alert('There is an error to load report.');";
de.Click.Success = "saveChart('ReportChart',true);";
}),
JavaScript Method function saveChart(chartName,saveOnServer){
var barChart = Ext.getCmp(chartName);
var svg1 = barChart.save({ type: 'image/svg+xml' });
var svg1Width = barChart.width;
Ext.net.DirectMethod.request({
url: '@Url.Action("SaveSvg", "InternalPricing")',
cleanRequest: true,
isUpload: true,
params: {
svg1: svg1,
svg1Width: svg1Width,
saveOnServer:saveOnServer
}
});
}
Server side codepublic void SaveSvg(string svg1, int svg1Width, bool saveOnServer)
{
try
{
XmlDocument xd = new XmlDocument();
xd.XmlResolver = null;
xd.LoadXml(Server.HtmlDecode(svg1));
SvgDocument svgGraph = null;
svgGraph = Svg.SvgDocument.Open(xd);
Bitmap firstImage = svgGraph.Draw();
using (Bitmap result = new Bitmap(firstImage.Width, firstImage.Height))
{
using (var canvas = Graphics.FromImage(result))
{
canvas.Clear(System.Drawing.Color.White);
canvas.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
canvas.DrawImage(firstImage, new Rectangle(0, 0, firstImage.Width, firstImage.Height), new Rectangle(0, 0, firstImage.Width, firstImage.Height), GraphicsUnit.Pixel);
canvas.Save();
}
string path = System.Web.HttpContext.Current.Server.MapPath(
string.Concat( PriceRight.Settings.PropertyReader.GetProperty("SavedChart"),
"chart.png"
) );
if (saveOnServer == true)
{
result.Save(path, System.Drawing.Imaging.ImageFormat.Png);
}
else
{
HttpContext.Response.Clear();
Response.Buffer = true;
HttpContext.Response.AddHeader("content-disposition", string.Format("attachment;filename={0}{1}", "chart", ".png"));
Response.Charset = "";
HttpContext.Response.ContentType = "image/Png";
result.Save(HttpContext.Response.OutputStream, ImageFormat.Png);
Response.Flush();
Response.End();
}
}
}
Last edited by Daniil; Feb 04, 2014 at 11:33 AM.
Reason: Please use [CODE] tags, [CLOSED]