У меня есть скрипт, который создает 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 и отправьте его.