Получить загруженный блок с PHP

У меня есть скрипт, который создает blob и отправляет его в файл PHP. Вот мой код:

HTML / JavaScript:

<script type="text/javascript"> function upload() { var data = new FormData(); data.append('user', 'person'); var oReq = new XMLHttpRequest(); oReq.open("POST", 'upload.php', true); oReq.onload = function (oEvent) { // Uploaded. }; var blob = new Blob(['abc123'], {type: 'text/plain'}); oReq.send(blob); } </script> <button type="button" onclick="upload()">Click Me!</button> 

PHP:

 <?php var_dump($_POST); ?> 

Когда я смотрю на мою консоль разработчика, я не получаю никаких данных $ _POST на моей странице PHP. Мне нужно знать, как получить текстовый файл, отправляемый в PHP-скрипт.

Любая помощь очень ценится!

Данные из blob можно прочитать из php://input , как в

 <?php var_dump(file_get_contents('php://input')); 

Однако, если вы хотите отправить несколько частей данных с помощью объекта данных формы, он будет похож на обычный пост multipart / form-data. Вся строка будет доступна через $_POST и все капли и файлы через $_FILES .

 function upload() { var data = new FormData(); var oReq = new XMLHttpRequest(); oReq.open("POST", 'upload.php', true); oReq.onload = function (oEvent) { // Uploaded. }; var blob = new Blob(['abc123'], {type: 'text/plain'}); data.append('file', blob); oReq.send(data); } 

Добавьте свой Blob в FormData и отправьте его.