我正在寻找学习Javascript并且一直想要一段时间,我得到了一个关于如何创建HTML5 Canvas绘图应用程序的小教程,我正在尝试修改它以便我可以将图像保存到我的MySQL数据库。到目前为止,下面的代码只是重定向到我的PHP文件,并且确实有我想要的代码,但它有点大,所以我想知道是否有办法减少甚至可能_POST它到PHP脚本。< / p>
saveAsPNG : function(oCanvas, bReturnImg, iWidth, iHeight) {
if (!bHasDataURL) {
return false;
}
var oScaledCanvas = scaleCanvas(oCanvas, iWidth, iHeight);
var strData = oScaledCanvas.toDataURL("image/png");
window.location.href = "http://localhost/save_server/?image=" + strData;
if (bReturnImg) {
return makeImageObject(strData);
} else {
saveFile(strData.replace("image/png", strDownloadMime));
}
return true;
},
我正在使用window.location.href来发送数据。任何帮助,将不胜感激。它目前提供的URL是......
localhost / save_server /?image = data:image / png; base64,iVBORw0KGgoAAAANSUhEUgAAA4EAAAIUCAYAAACkdimiaAAgAElEQVR4Xu3XQQEAAAgCMelf2iA3GzD8sHMECBAgQIAAAQIECB ...你知道吗?它太大了,我甚至不打算在这里张贴。
提前感谢您的帮助!
答案 0 :(得分:3)
使用form
,并按POST
方法发送字节:
var form = document.createElement("form");
form.setAttribute("action","http://localhost/save_server/");
form.setAttribute("enctype","multipart/form-data");
form.setAttribute("method","POST");
form.setAttribute("target","_self");
form.innerHTML = '<input type="hidden" name="image" value="'+strData+'"/>';
form.submit();