我试图发布生成的图片但不是在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();
});
你能帮助我吗?
答案 0 :(得分:2)
在MVC中,默认数据绑定是使用名称属性完成的,因此请为<input type="hidden" id="dataUrl" />
提供名称属性,如下所示: -
<input type="hidden" id="dataUrl" name="dataUrl" />
其余的控制器操作代码都没问题。