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

时间:2012-07-02 21:12:34

标签: php ajax arraybuffer xmlhttprequest-level2

我正在关注XMLHttpRequest 2上的学费:

https://developer.mozilla.org/en/DOM/XMLHttpRequest/Sending_and_Receiving_Binary_Datahttp://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

//使用imagedata做一些很酷的东西

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

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

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

1 个答案:

答案 0 :(得分:4)

好的 - 我已经弄清楚了。我的服务器端PHP打开:

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

现在的格式已准备好作为BLOB格式插入(例如)MySQL。

像魅力一样!