Для извлечения двоичных данных из файла типа blob в JavaScript можно использовать объект FileReader, который позволяет читать содержимое файлов в виде массивов байтов.
Пример кода для чтения двоичных данных из файла типа blob и отправки их на сервер:
```javascript
// Получаем элемент input для загрузки файла
const fileInput = document.getElementById('fileInput');
// Обработчик события выбора файла
fileInput.addEventListener('change', function() {
const file = fileInput.files[0]; // Получаем выбранный файл
const reader = new FileReader();
reader.onload = function(event) {
const binaryData = event.target.result; // Получаем двоичные данные файла
const xhr = new XMLHttpRequest();
xhr.open('POST', 'upload.php', true);
xhr.setRequestHeader('Content-Type', 'application/json');
const dataToSend = { state: binaryData };
xhr.send(JSON.stringify(dataToSend)); // Отправляем двоичные данные на сервер в переменной state
};
reader.readAsBinaryString(file); // Читаем файл в виде двоичных данных
});
```
На стороне сервера в PHP можно принять и обработать отправленные двоичные данные следующим образом:
```php
// Получаем двоичные данные из переменной state
$binaryData = file_get_contents("php://input");
// Обрабатываем двоичные данные, например, сохраняем их в файл
file_put_contents('uploaded_file.bin', $binaryData);
```
Используя вышеприведенные коды, можно загрузить файл с браузера, прочитать его двоичные данные и отправить на сервер для дальнейшей обработки на стороне сервера с использованием PHP.