1

我正在寻找学习 Javascript 并且一直想要学习一段时间,我有一个关于如何创建 HTML5 Canvas 绘图应用程序的小教程,我正在尝试修改它,以便我可以将图像保存到我的 MySQL 数据库中。到目前为止,下面的代码只是重定向到我的 PHP 文件并且确实有我想要的代码,但是它有点大,所以我想知道是否有办法减少它,甚至可能 _POST 到 PHP 脚本。

    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... 你知道吗?它太大了,我什至不打算在这里发布它。

提前感谢您的帮助!

4

1 回答 1

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();
于 2012-07-08T18:24:47.487 回答