保存Canvas图像(将数据字符串发布到PHP)

Save Canvas image (Post the data string to PHP)

本文关键字:PHP 字符串 数据 Canvas 图像 保存      更新时间:2023-09-26

我想学习Javascript,已经有一段时间了,我得到了一个关于如何创建HTML5 Canvas绘图应用程序的小教程,我正在尝试修改它,以便将图像保存到我的MySQL数据库中。到目前为止,下面的代码只是重定向到我的PHP文件,并且确实有我想要的代码,但它有点大,所以我想知道是否有办法减少它,甚至可能将它粘贴到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.htm发送数据。如有任何帮助,我们将不胜感激。它当前提供的URL是…

localhost/save_server/?image=数据:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4EAAAIUCAYAAACkdimIAAAgAElEQVR4Xu3XQQEAAAgCMelf2iA3GzD8sHMECBAgQIAAQIECB。。。你知道吗?它太大了,我甚至不打算把它贴在这里。

感谢您提前提供的帮助!

使用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();