我正在从阅读有关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
//使用imagedata做一些很酷的事情
var exchange=new XMLHttpRequest();
exchange.open("POST",url,true);
exchange.send(arraybuffer);
到目前为止,一切都很好,从客户端和服务器控制面板中都可以看到正在传输大量数据.
这是我的问题:如何在服务器上使用PHP访问ArrayBuffer?
我已经习惯了$_POST超全局性想要从HTML表单传递的参数,因此可以将其作为数组进行访问,但是我找不到任何有关如何访问此二进制数组并将其粘贴到我的MySQL数据库中的引用.
解决方法:
好的-我知道了.我的服务器端PHP打开时显示:
$data = file_get_contents('php://input');
$mysql_blob = base64_encode($data);
现在已经准备好以BLOB格式插入(例如)到MySQL中.
奇迹般有效!