首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将音频blob转换为上传到后台的文件(不在本地保存)

将音频blob转换为上传到后台的文件(不在本地保存)
EN

Stack Overflow用户
提问于 2020-10-08 05:36:14
回答 1查看 1.2K关注 0票数 0

编辑:这里有几个小的打字错误/错误,现在已经更正了,他们解决了一半的问题。另一半在公认的答案中。

..。

我正在客户端录制麦克风音频(nuxt/vue),并希望将其发送到我的后端(Strapi)。我有一个MediaRecorder记录器,当记录停止时,数据将被添加到我的recordingFile数组中。这部分工作,在录制后,我可以播放它与嵌入式播放器。

HTML部件:

代码语言:javascript
运行
AI代码解释
复制
<audio
  id="localaudio"
  ..
></audio>

JS:

代码语言:javascript
运行
AI代码解释
复制
recorder = new MediaRecorder(mediaStream);

...     

recorder.addEventListener("dataavailable", function(e) { 
        document.querySelector("#localaudio").src = URL.createObjectURL(e.data); //add it to the player element on the page for playback
        recordingFile.push(e.data); // pushing to array recordingFile
      });

然而,我在上传到我的Strapi后端时遇到了麻烦。我认为原因是当Strapi需要一个文件时,我正在尝试上传一个blob。

代码语言:javascript
运行
AI代码解释
复制
  let blob = new Blob(recordingFile, { type: "audio/ogg" });

  const data = {
    "user" : "test",
    "files.File" : blob //prefix is strapi convention
  };

  const formData = new FormData();
  formData.append('data', JSON.stringify(data));

  axios({
    method: "post",
    url: "http://localhost:1337/recordings",
    data: formData,
    headers: {
      "content-type": `multipart/form-data;`
    }
  })

我确实得到了一个肯定的响应和一个带有测试“user=”的新条目,但文件字段仍然为空。我尝试发送文件URL (URL.createObjectURL(..))而不是斑点本身,但它也不起作用。

我正在遵循strapi documentation的说明,但它使用的是文件系统中的文件,而不是在浏览器中创建的blobs。

有什么提示吗?

编辑: recording.settings.json:

代码语言:javascript
运行
AI代码解释
复制
{
  "kind": "collectionType",
  "collectionName": "recordings",
  "info": {
    "name": "Recording"
  },
  "options": {
    "increments": true,
    "timestamps": true,
    "draftAndPublish": true
  },
  "attributes": {
    "File": {
      "model": "file",
      "via": "related",
      "allowedTypes": [
        "images",
        "files",
        "videos"
      ],
      "plugin": "upload",
      "required": false
    },
    "name": {
      "type": "string"
    }
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-08 05:52:48

文档实际上建议您将文件或blob (两者都可以使用)附加到FormData实例,而不是data对象。

代码语言:javascript
运行
AI代码解释
复制
let blob = new Blob(recordingFile, { type: "audio/ogg" });
let file = new File([blob], 'recording.ogg');

const data = {
  "user" : "test",
};

const formData = new FormData();
formData.append('files.file', file);
formData.append('data', JSON.stringify(data));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64256382

复制
相关文章
JsBase64位转换为blob上传到服务器
var localData= 'data:image/png...'; //假定dataUrl为base64位 let base = atob(localData.substring(localData.indexOf(',') + 1)); // base是将base64编码解码,去掉data:image/png;base64部分 let length = base.length; let url = new Uint8Array(length); while (length
明知山
2020/09/02
1.1K0
使用helm将本地部署文件上传到harbor chart上
在执行install.sh安装脚本时,通过--with-chartmuseum参数安装chart插件。
章工运维
2023/06/13
2.7K0
使用helm将本地部署文件上传到harbor chart上
将BCS的bucket文件保存到本地[PHP]
作者:matrix 被围观: 2,184 次 发布时间:2015-06-03 分类:兼容并蓄 零零星星 | 8 条评论 »
HHTjim 部落格
2022/09/26
2.1K0
git把本地文件上传到github上的步骤
1.清除clean 2.返回上一级cd .. 3.克隆仓库地址git clone+地址 4.添加忽悠文件vim .gitignore 5查看cat .gitignore 6.进入到test,并且添加所有的文件:cd test    git add. 7.查看状态,绿色git status 8.提交git commit  -am "wangtingwx" 9.查看状态 10.放到github:   ----------git  push origin master Administrator@PC-20160
王小婷
2018/05/31
5.3K0
利用Git工具将本地创建的项目上传到Github上
作为一个对前沿技术很看好的小青年,怎么能不会用Github呢?一年前我创建了Github,也知道git,但是尝试过用,但是就没弄明白,很多粉丝都问我Github的账号,想关注一波,无奈里面啥都没有,因此必须学习一下并且写点东西进去,Google了很多东西,尝试了很多次,最后还是成了,以下将分享下我的经验随笔~~~
Angel_Kitty
2018/08/01
2.5K0
利用Git工具将本地创建的项目上传到Github上
android本地lib通过gradle上传到本地nexus上
在apply plugin: 'com.android.library'下添加如下内容:
隔壁老李头
2018/08/30
2.7K0
android本地lib通过gradle上传到本地nexus上
js 将数据保存到本地
name 文件名 data 数据 type mime类型 saveAs: function (name, data, type) { const element = document.createElementNS("http://www.w3.org/1999/xhtml", "a"), ev = document.createEvent("MouseEvents"), urlObject = window.URL || window.webkitURL || wi
路过君
2020/08/28
6.4K0
视频转音频怎么操作?视频转音频怎么保存到本地?
现在文件的类型多种多样,平时人们生活中会需要用到很多数据文件,如果录音的话就会存储为音频文件,如果录像的话就会存储为视频文件,不同的文件使用方式也是不同的,需要大家根据自己的需求去进行相关文件的操作,不过有些特殊情况会需要将视频文件转换为音频文件,毕竟有些时候视频文件是无法播放出来的,只能播放一些简单的音频文件,那么视频转音频怎么操作?视频转音频怎么保存到本地?下面小编就为大家带来详细介绍一下。
用户8743567
2021/06/25
4.6K0
如何将IDEA上的项目上传到GitHub上?
最近,找到了一个去年用Springboot完成的一个web类博客项目,于是想到了上传到GitHub上开源分享。相信还有一部分刚入"IT"圈的编程小白(请忽略我也是一个菜鸟…),于是正好利用这个机会做一期记录。
大数据梦想家
2021/01/27
6.8K0
如何将IDEA上的项目上传到GitHub上?
PHP 将amr音频文件转换为mp3格式
2、使用ffmpeg -i 指令来转换amr为mp3格式(这个到时候写在PHP代码中,使用exec函数执行即可)
超级小可爱
2023/02/20
2.1K0
iOS-将项目上传到 GitHub 上
创建项目 进入GitHub主页,创建新代码仓库,注册相关事宜不再赘述(见下图): 二、给你的新代码仓库起名称(可以是项目的名称或者 Demo 的文件名称)--->给你仓库添加描述(方便别人理解用途)--->点击“创建”(见下图): 步骤二.png 三、点击“创建”后会生成相应的 github 网址,这个网址就是以后上传项目的地址(见下图): 步骤三.png 四、接着用 Xcode 创建工程,记得勾选创建 Git 代码仓库(见下图): 步骤四.png 五、在导航栏找到“配置工程”选项(见下
用户1890628
2018/05/10
2.6K0
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.7K0
如何用命令将本地项目上传到github
1、(先进入项目文件夹,右键打开命令行)通过命令 git init 把这个目录变成git可以管理的仓库
西柚dzh
2022/06/09
3750
如何用命令将本地项目上传到github
web端口实现文件下载到本地(Blob ,createElementNS)
var ev = document.createEvent("MouseEvents");
小布丁
2020/02/27
1.3K0
如何使用Python将图像转换为NumPy数组并将其保存到CSV文件?
Python 是一种功能强大的编程语言,具有大量的库和模块。其中一个库是 NumPy,它用于数值计算和处理大型多维数组和矩阵。另一个用于Python图像处理的流行库是Pillow,它是Python Imaging Library(PIL)的一个分支。
很酷的站长
2023/08/11
6120
如何使用Python将图像转换为NumPy数组并将其保存到CSV文件?
java读取本地目录的文件转换为list
不在沉默中爆发,就在沉默中灭亡。——鲁迅 我读取了我的全部博客内容并转换成了一个List<String> 代码如下: import java.io.*; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; class Scratch { public static
阿超
2022/08/17
2K0
java读取本地目录的文件转换为list
使用 JDAudioCrawler 将下载的音频存储到本地存储
在当今数字化时代,音频数据的获取和处理变得越来越重要。本文将访问网易云音乐为案例,介绍如何使用JDAudioCrawler这个强大的工具,将音频数据存储下载到本地存储中。将详细介绍实现的流程和代码细节。
小白学大数据
2023/10/25
3170
点击加载更多

相似问题

MySql:将BLOB转储到本地文件

11

本地文件blob保存

22

将音频文件保存在后台

14

将blob转换为图像并保存到本地文件夹- Apex

20

从Blob保存到本地文件

55
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文