【问题标题】:Sending .wav file to backend将 .wav 文件发送到后端
【发布时间】:2019-01-27 13:44:40
【问题描述】:

我目前正在使用 RecorderJS,需要将 .wav 文件发送到后端。 API 在文档中非常有限,所以我正在努力弄清楚如何通过我的 axios.post(...) 发送 .wav 文件。

我可以使用

下载 .wav 文件
Recorder.download(theblob, 'audio.wav');

这会下载一个 .wav 文件,我可以通过 iTunes 播放它,所以它是正确的格式。我现在需要弄清楚如何将它保存在一个变量中,以便通过 axios 发布它。另外,我应该为我使用什么标题,.. 等?

寻找任何类型的 javascript 解决方案。我只需要将确切下载的文件发送到我的后端。谢谢!

【问题讨论】:

    标签: javascript wav recorder


    【解决方案1】:

    下载方法将文件存储在磁盘上的某个位置。我相信出于安全原因,javascript 无法遍历您计算机的路径并读取文件。我不确定 recorder-js 是否提供将其存储在“开箱即用”的变量中,因此您可能希望先处理它。

    关于问题的第二部分:

    这应该适用于将其发布到后端:

    let data = new FormData();
    
    data.append('wavfile', file, file.name);
    
    const config = {
      headers: { 'content-type': 'multipart/form-data' }
    }
    axios.post('/api/recorderfiles', data, config)
    

    【讨论】:

    • 是的,即使我在第二部分的文件中硬编码,我仍然得到没有数据发送的响应。无论如何我可以完成第一部分吗?即使它是超级hacky?这只是一个黑客马拉松项目。我可能将错误的值传递给文件和文件名。它们应该是文件的路径吗?那部分是如何工作的
    • 不,不是路径。文件是文件对象,所以你需要一个真实的文件存储在变量“file”中。如果可以的话,您可以以常规的 html 表单手动上传文件吗?使用 input=file: 然后使用 javascript 来感知更改 (event.target.files[0]) 以检索文件。
    • 我不确定这是否可行。我们可以直接留言/打电话吗?我真的很感激!
    • 抱歉,今天没有空位。您对此有何看法:github.com/ijsnow/studiojs/blob/master/recorder/src/index.js
    • 好的,没错。所以我可以复制并粘贴到我的那里吗?我不完全确定这与 axios 的外观如何?似乎我已经在这样做了。如果您能快速向我展示那会是什么样子,我将不胜感激!目前我有 onStop = blobObject => { ...}
    猜你喜欢
    • 1970-01-01
    • 2021-02-06
    • 2021-08-14
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 2014-12-15
    相关资源
    最近更新 更多