Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中将Blob转换为DataURL_Javascript_Blob_Data Uri_Data Url - Fatal编程技术网

在JavaScript中将Blob转换为DataURL

在JavaScript中将Blob转换为DataURL,javascript,blob,data-uri,data-url,Javascript,Blob,Data Uri,Data Url,我有一个表示音频文件的blob变量。当执行此代码时,一个有效的数据url字符串会登录到控制台,但它非常小,只能在chrome中工作,浏览器可能会将其存储在某个地方。是否可以将其转换为包含所有音频数据的数据url字符串?此外,在其他机器上,一切都正常工作 var reader = new FileReader(); reader.readAsDataURL(blob); reader.onloadend = function() {

我有一个表示音频文件的
blob
变量。当执行此代码时,一个有效的数据url字符串会登录到控制台,但它非常小,只能在chrome中工作,浏览器可能会将其存储在某个地方。是否可以将其转换为包含所有音频数据的数据url字符串?此外,在其他机器上,一切都正常工作

     var reader = new FileReader();
     reader.readAsDataURL(blob); 
     reader.onloadend = function() {
                    base64data = reader.result;                
                    console.log( base64data );
      }

谢谢。

数据url代表文件的全部数据。你确定你的斑点不是流吗?另外,FileReader是@Kaido,首先,不,在我的例子中,它不代表整个数据,在我的例子中,它非常小,如果我在另一个浏览器中打开它,它就不能工作。其次,我确信我的blob不是一个流,因为当我在chrome中打开数据url时,它可以正常工作。第三,我的浏览器支持FileReader。啊,你刚才说的dataURL在其他浏览器中不起作用。。。我的错。但是,支持仍然是我评论的第3点。你能检查点2或者告诉我们你是如何创建这个blob的,因为问题显然来自于此。blob可以工作,因为如果我在chrome中打开数据url,音频播放效果会很好。不,如果你的blob包含流,那么你从浏览器中打开的blobUrl将显示媒体,媒体会不断更新。但是blob只包含当前时间的实际数据,而不是整个文件。