【发布时间】:2021-12-28 13:34:26
【问题描述】:
我有一个 base64 字符串的音频文件。我想用 nodejs 将它保存为本地文件夹中的文件。我已经与 fs 库集成并完成了此操作,并在本地文件夹中获取了 mp3 文件,但无法播放。你能支持我解决这个问题吗?这是我在 nodejs 中的代码。
let base64File = 'data:audio/mp3;base64,UklGRiRAHwBXQVZFZm10IBAAAAABAAIAgLsAAAD...........';
const DIR = BASE_PATH + 'src/storage/voice/';
const filename = 'sample.mp3';
const fileurl = DIR + filetname;
const fileContents = Buffer.from(base64File, 'base64');
fs.writeFile(fileurl, fileContents, (err) => {
if (err) return console.error(err);
console.log('file saved to ', filetname);
});
【问题讨论】:
-
您必须切断字符串的
data:audio/mp3;base64,部分。整个字符串不是base64字符串而是data uri,包含一个base64字符串。 -
我也试过这个..但无法播放下载的文件
-
也不是mp3而是wav文件,从解码后的header来看:
RIFF$@�WAVEfmt ��
标签: node.js angular base64 mp3 fs