我正在处理音频记录。现在我想将录制的音频保存到我们的本地文件夹中。当我录制音频时,它会返回blob URL,例如:
blob: http://example.com/7737-4454545-545445.
当我访问此URL时,它会播放录制的音频。现在我正在将该blob URL从js发送到PHP脚本以保存到本地目录,但是它无法正常工作。
我该怎么办?
blob: http://example.com/7737-4454545-545445.
当我访问此URL时,它会播放录制的音频。现在我正在将该blob URL从js发送到PHP脚本以保存到本地目录,但是它无法正常工作。
我该怎么办?
fetch()
、Response.blob()
来获取 的 表示,将 FormData
发送到服务器。// `blobURL` : `"blob:http://example.com/7737-4454545-545445"`
fetch(blobUrl).then(response => response.blob())
.then(blob => {
const fd = new FormData();
fd.append("fileName", blob, "file.ext"); // where `.ext` matches file `MIME` type
return fetch("/path/to/server", {method:"POST", body:fd})
})
.then(response => response.ok)
.then(res => console.log(res))
.catch(err => console.log(err));
init
对象中将method
设置为"POST"
。请查看https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch。 - guest271314if (move_uploaded_file($_FILES['fileName']['tmp_name'], $target_path)) {
echo "文件" . basename($_FILES['fileName']['name']) . "已上传";
} else {
echo "上传文件时出错,请重试!";
如何在这里获取音频文件? - RAC BFormData.prototype.append()
的第三个参数中设置包括扩展名的文件名。例如:fd.append("fileName", blob, "audio.ogg"); // 或者根据文件的MIME类型选择适当的扩展名
。 - guest271314