记录一下自己在写代码时候遇到的问题
由于咱们的音频数据是以blob类型存储的mysql数据库中的,当我们将它提取到java中的时候需要用byte[]来接收,
但是要怎么发送到前端,并且前端可以使用呢?(我是小白)
下面贴出controller中的代码:
①String responseType = "audio/" + fileName.split("\\.",2)[1] + ";charset=utf-8";
1号代码的意思是 设置响应数据的格式,因为我们的文件类型有很多种,()这里我们以音频数据为例,音频数据有熟知的mp3、flac、wav等类型)同时也要设置编码格式,将它塞入响应头中。最后将数据返回
这是前端的一个根据选中去后台申请数据
这里用async是为了在调用getMusic()的时候要等它完成再执行后面的内容
注意:responseType要设置为blob类型
上面的代码是临时的
步骤
1.将byte[] 数据转换为blob对象类型
const blob = new Blob( [ 要转换的数据] , { type:'参数类型(如audio/flac)' })
2.将blob对象转换为URL对象
const url = URL.createObjectURL(blob)
这样就可以使用啦