Как сохранить WAV-файл на сервере в PHP, если он был отправлен с использованием XMLHttpRequest?

Я использую следующий фрагмент для отправки файла WAV в виде BLOB-объекта на сервер, который написан на PHP:

function upload(blob) {
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload.php', true);
xhr.onload = function (e) {
var result = e.target.result;
};

xhr.send(blob);
}

Я не понимаю, как мне следует обрабатывать POST-данные на сервере.

0

Решение

То, что вы ищете, это PHP: // ввод:

$fp = fopen("php://input", "r");
$wav_file = stream_get_contents($fp);

Обратите внимание, что я предполагаю blob в твоем примере актуально капля, или же ArrayBuffer, или же файл, а не просто набор текста, чья интерпретация UTF8 также является допустимым файлом WAVE.

1

Другие решения

<input type="file" id="uploadfile" name="uploadfile" />
<input type="button" value="upload" onclick="upload()" /><script>
var client = new XMLHttpRequest();

function upload()
{
var file = document.getElementById("uploadfile");

/* Create a FormData instance */
var formData = new FormData();
/* Add the file */
formData.append("upload", file.files[0]);

client.open("post", "/upload", true);
client.setRequestHeader("Content-Type", "multipart/form-data");
client.send(formData);  /* Send to server */
}

/* Check the response status */
client.onreadystatechange = function()
{
if (client.readyState == 4 && client.status == 200)
{
alert(client.statusText);
}
}
</script>
0

По вопросам рекламы [email protected]