在 xmlHTTPrequest send() 之后从 PHP $_POST 访问 ArrayBuffer


Accessing ArrayBuffer from PHP $_POST after xmlHTTPrequest send()

我正在遵循XMLHttpRequest 2的学费:

https://developer.mozilla.org/en/DOM/XMLHttpRequest/Sending_and_Receiving_Binary_Data和http://www.html5rocks.com/en/tutorials/file/xhr2/#toc-send-arraybuffer

它们是客户端的优秀教程,这是我脚本的工作摘录:

var imagebuffer = new ArrayBuffer(size);  // create the readonly memory buffer
var imagedata= new Uint8Array(imagebuffer); // create a view to manipulate data

用图像数据做一些很酷的事情

var exchange=new XMLHttpRequest();
exchange.open("POST",url,true);
exchange.send(arraybuffer);

到目前为止一切顺利,我可以从客户端和服务器控制面板中看到正在传输大量数据。

这是我的问题:如何在服务器上使用 PHP 访问 ArrayBuffer?我已经习惯了从 HTML 表单传递的 $_POST 超全局想要参数,以便可以将其作为数组访问,但我找不到有关如何访问此二进制数组并将其粘贴到我的 MySQL 数据库中的任何参考。

好的 - 我已经想通了。我的服务器端 PHP 打开时显示:

$data = file_get_contents('php://input');
$mysql_blob = base64_encode($data);

现在的格式可以作为 BLOB 格式插入(例如)到 MySQL 中。

像魅力一样工作!