PHP副本数组到PHP端文件

时间:2016-03-09 00:26:54

标签: javascript php ajax

我有一个Uint8Array,它在Javascript端有10000个字节。

var data = new Uint8Array(10000) ;

我想将它发送给PHP并用它创建一个文件:

    $.ajax({
        url:'saver.php',
        type: 'POST',
        contentType: 'application/octet-stream',  
        data:data,
        processData: false
    });

这个ajax正在发送数据(我在"请求有效载荷"控制台上的部分看到它)但是没有$ _POST记录,$ _POST数组是空的,只是沉默。如何正确抓住它?

2 个答案:

答案 0 :(得分:1)

就我而言。 我从 JS 请求数组中获取二进制文件:Uint8Array 的 $file['content'] 格式。

            <?php
            $packed = pack("c*", ...$file['content']);

答案 1 :(得分:0)

这似乎是一种已知的行为。 对于10000字节的数组,您应该能够使用

$rawPost = file_get_contents('php://input');

从请求中获取数据,而不是检查$ _POST变量。

请注意,此方法会将数据加载到内存中,因此如果数据太大,您将收到错误。