嗨,我想将音频文件路径保存到数据库中,并将音频文件保存到我的上传文件夹中,这是我的代码:-
<a class="btn btn-large btn-danger" id="ahref" target="_blank" onclick="$('#audioLayerControl')[0].save($('#ahref')[0]);"><i class="icon-fire"></i> save</a>
当我单击此链接时,我录制的音频保存在下载文件夹中,我可以播放它,但我想将它保存在我的上传文件夹中,我得到这样的 blob url
blob:http%3A//localhost%3A8383/0dd9e04b-d6db-4c8c-94b5-51cfb619f725
这是它的脚本:-this.save = function save(saveLink)
{
var url = this.toWave().toBlobUrlAsync("application/octet-stream");
document.getElementById("ahref").src=url;
var final=document.getElementById("ahref").download = new Date().toISOString() + '.wav';
};
谢谢请帮帮我。
更新 使用 Ajax 后
var blobUrl=url;
var xhr = new XMLHttpRequest;
xhr.responseType = 'blob';
xhr.onload = function() {
var recoveredBlob = xhr.response;
var reader = new FileReader;
reader.onload = function() {
var blobAsDataUrl = reader.result;
window.location = blobAsDataUrl;
};
reader.readAsDataURL(recoveredBlob);
};
//xhr.open('GET', blobUrl);
xhr.open('POST', 'upload.php', true);
xhr.send(blobUrl);
上传.php
<?php
error_reporting(0);
if( isset($HTTP_RAW_POST_DATA))
{
echo $cad = $HTTP_RAW_POST_DATA;
}
?>
输出:-
blob:http%3A//localhost%3A8383/5155c610-dec6-4e60-8ef7-e14a56aa73d2
并且在浏览器 url 中是
data:text/html;base64,YmxvYjpodHRwJTNBLy9sb2NhbGhvc3QlM0E4MzgzLzUxNTVjNjEwLWRlYzYtNGU2MC04ZWY3LWUxNGE1NmFhNzNkMg==
最佳答案
我会补充:
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
就在:xhr.open('POST', 'upload.php', true);
关于javascript - 如何将从blob url获取的音频数据保存到mysql db中的文件系统和路径中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34527396/