尝试使用输入类型文本传递超过524288字节的ToDataURL

我正在尝试使用Canvas的DataURL(使用JavaScript)创建图像。 当用户点击提交时,该值将被发送到输入类型文本标记(例如, ),但是,显然在Chrome上,文本在长度为524,288个字符时会被截断。

我将它发送到输入标签,因为我需要在PHP中获取值(作为$ _POST [‘dataurltext’];),以便我可以创建一个图像并将其上传到我的Web服务器。

关于如何绕过这个长度的任何想法?

我应该使用评论框吗?

感谢您的帮助,我们将不胜感激。

尝试在javascript Blob作为Blob发送; 使用fopen()php://input作为参数读取Blobstream_copy_to_streamfile_get_contents()file_put_contents()来处理php文件

请参阅HTMLCanvasElement.toBlob()

 if (!HTMLCanvasElement.prototype.toBlob) { Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', { value: function (callback, type, quality) { var binStr = atob( this.toDataURL(type, quality).split(',')[1] ), len = binStr.length, arr = new Uint8Array(len); for (var i=0; i 

超越$ _POST,$ _GET和$ _FILE:在JavaScript和PHP中使用Blob