next.js 如何将Blob(音频)保存到repo文件系统中?

slmsl1lt  于 2023-01-20  发布在  其他
关注(0)|答案(1)|浏览(140)

我正在通过系统麦克风录制用户音频,并可以成功地将其下载到进行录制的设备上,但我希望通过API调用将其存储在我的数据库中。我如何将此音频录制/文件导入到我的代码库中?下面的代码保存到“下载”中。

const addAudioElement = (blob: any) => {
        const url = URL.createObjectURL(blob);
        const a = document.createElement('a');
        a.download = 'file name';
        a.href = url;
        a.click();
        window.URL.revokeObjectURL(url);
    };
6g8kf2rb

6g8kf2rb1#

如果要将其保存到数据库:
首先,使用File内置API创建一个对象示例

const audio= new File([AudioBLOB], "file.mp3", {
    type: "audio/mpeg",
});

然后,将该文件添加到FormData

const formData = new FormData();
formData.append("audio", audio);

最后,您将使用axios/fetch将formData发送到后端

await axios.post(endPoint,formData,{ "content-type": "multipart/form-data"});

在后端,如果使用node.js或next. API,则可以使用multer之类的库
与multer您可以访问上传的音频,在后端和保存到您的数据库

相关问题