提问者:小点点

将文件流转换为文件


我有一个API,以流的形式响应音频/视频文件。

例如,典型的响应如下:data:audio/mpeg;base64,gkxfo59choebqveba...

我使用axios调用这个API并成功地获得了原始流数据。 我如何将这些数据转换成一个可用的文件,并使其可从前端下载?

附注。 将React用于前端。


共1个答案

匿名用户

您可以创建一个锚元素,添加下载属性并将数据作为href。 例如:

<a download='hello-world.txt' href="data:text/plain;base64,SGVsbG8gd29ybGQ=">Download Data</a>

这招也管用:

const downloadData = (filename, dataURI) => {
    var a = document.createElement('a')
    a.setAttribute('href', dataURI)
    a.setAttribute('download', filename)
    a.click()
    a.remove()
}

downloadData("hello-world", "data:text/plain;base64,SGVsbG8gd29ybGQ=")