带有Image64的MVC4 Post Form

时间:2014-11-27 07:39:40

标签: jquery asp.net-mvc

我试图发布生成的图片但不是在ajax中。问题是我的param在服务器端设置为null。

以下是行动:

    [HttpPost]
    public ActionResult DownloadImageDirect(string dataUrl)
    {
        var url = dataUrl.ToString().Substring(dataUrl.ToString().IndexOf(",") + 1);
        var image = Convert.FromBase64String(url);
        return base.File(image, "image/png", "pere_noel.png");
    }

以下是表格:

<form id="imgDownload" target="_blank" action="/Home/DownloadImageDirect" method="post">
    <input type="hidden" id="dataUrl" />
</form>

这是javascript:

yesButton.on('tap click', function () {
            var finalUrl = myKineticJSGroup.toDataURL({

                x: centerElem(rect.getWidth(), cadreImg).x,
                y: centerElem(rect.getHeight(), cadreImg).y,
                width: centerElem(rect.getWidth(), cadreImg).width,
                height: centerElem(rect.getHeight(), cadreImg).height,
            });

            $("#dataUrl").val(finalUrl);
            $("#imgDownload").submit();
        });

你能帮助我吗?

1 个答案:

答案 0 :(得分:2)

在MVC中,默认数据绑定是使用名称属性完成的,因此请为<input type="hidden" id="dataUrl" />提供名称属性,如下所示: -

<input type="hidden" id="dataUrl" name="dataUrl" />

其余的控制器操作代码都没问题。

相关问题