0

我正在尝试从我从客户端传递到我的控制器的 svg 创建一个图像。

svg 正在通过已发布表单的隐藏输入传递。

控制器:

[HttpPost, ValidateInput(false)]
public ActionResult GetChartImage(string svgString)
{
    byte[] imageBytes;

    var bytes = Encoding.ASCII.GetBytes(svgString);

    using (var stream = new MemoryStream(bytes))
    {
        var svgDocument = SvgDocument.Open(stream);
        var bitmap = svgDocument.Draw();
        bitmap.Save(stream, ImageFormat.Png);
        imageBytes = stream.ToArray();
    }

    return File(new MemoryStream(imageBytes), "image/png");
}

问题是,当该过程完成由于发布表单而打开的新网页时,不会显示生成的图像:

在此处输入图像描述

4

1 回答 1

0

这是使用 GET 的版本

我的控制器:

[HttpGet]
public FileContentResult GetEmployeeImage()
{
    byte[] image = byteArrayFromImage;

    return new FileContentResult(image , "image/jpeg");
}

看法:

<img src="@Url.Action("GetEmployeeImage", "MyController")" alt="avatar" />
于 2013-09-10T12:45:15.910 回答