将blob发送到pythonflask然后保存

2024-07-03

所以我正在尝试制作一个记录你的声音的网站,问题是当我将 blob 文件或 blob url 发送到 Flask 服务器时,我的 Flask python 代码说没有内容,而它是,我该如何发送blob,因此服务器可以将其保存为文件。

    mediaRecorder.addEventListener("stop", () => {
      const audioBlob = new Blob(audioChunks, { type: "audio/wav" })
      const audioUrl = URL.createObjectURL(audioBlob);
      const audio = new Audio(audioUrl);
      audio.play();


      var data = new FormData()
      data.append('file', audioUrl)

      fetch('http://127.0.0.1:5000/receive', {
          method: 'POST',
          body: data

      }).then(response => response.json()
      ).then(json => {
          console.log(json)
      });

和我的 python 烧瓶代码:

@app.route("/receive", methods=['post'])
def form():
    files = request.files
    file = files.get('file')
    print(file)

    with open(os.path.abspath(f'backend/audios/{file}'), 'wb') as f:
        f.write(file.content)

    response = jsonify("File received and saved!")
    response.headers.add('Access-Control-Allow-Origin', '*')

    return response

有办法做到吗?发送记录blob文件,将其下载到python中?


问题出在这一行:

data.append('file', audioUrl)

您没有以正确的方式使用 FormData.append 。 它应该是:

data.append('file', audioBlob , 'file')

请参阅文档:https://developer.mozilla.org/en-US/docs/Web/API/FormData/append https://developer.mozilla.org/en-US/docs/Web/API/FormData/append

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将blob发送到pythonflask然后保存 的相关文章

  • 如何在 Titanium 中向 TableView 部分追加一行?

    我正在使用 Titanium 开发 iPhone 应用程序 并且需要将一行附加到特定的表格视图部分 https developer appcelerator com apidoc mobile 1 0 Titanium UI TableVi
  • 使用 Cookie 记住我时的安全性

    我已经在 PHP 中实现了一个登录类 并且想要创建一个记住账号键入功能 这样用户就不必每次访问都登录 我对此进行了一些研究 并准备使用 PHP setcookie 编写它 但后来遇到了这个页面 如何使用 jquery 创建 记住我 并存储
  • 计算随机生成的六边形的6个顶点

    我需要一些帮助来写方程式 我想生成仍然 完美 成比例 的随机大小的六边形 最左边的顶点将位于 0 0 我想考虑与最左边的顶点相关的其他顶点 从左顶点向上这么多 从它右边这么多 从它向下这么多 这不是那么简单的原因是因为我需要它成比例 目前
  • 无法使用 webpack 和 Laravel mix 加载 popper.js

    我在我的项目中使用 bootstrap 4 beta 和 Laravel 5 4 并使用 npm 和 laravel mix 加载我的 js 依赖项 到目前为止 一切都运行良好 除了当我尝试使用 booostrap js 方法时 它向我抛出
  • 用随机图像填充表格

    首先 我的编码经验包括修改简单的脚本以在我的页面上工作 其次 我搜索并发现了几个类似的问题 但无法完全解决它们 我需要一些帮助来使用大约 40 张图像数组中的随机图像填充 3x3 表 我目前有一个使用 backgroundImage 属性的
  • 通过 DOMParser 渲染时,HTML 5 视频不会显示在 Safari 中(通过 innerHTML 渲染工作正常)

    注意 有很多关于视频无法在 safari 上渲染的问题 这个问题是关于在 Safari 中使用 DOMParser 渲染视频 如果我使用innerHTML 渲染视频 一切正常 我有最简单的 HTML 5 视频 它是通过以下方式呈现的DOMP
  • 使用 GruntJs 缩小脚本

    我有几个 js 文件 我似乎可以让 GruntJs 正确地连接 缩小它们 如果我单独做每一个 它们就会工作得很好 如果我单独组合然后尝试缩小组合文件 它也不起作用 Here is the error 有想法该怎么解决这个吗 或者也许是什么原
  • redux fetch body 不能在无 cors 模式下使用

    我有一个调用函数的操作 dispatch Api url my url method POST data data 这里我将数组作为数据传递 import fetch from isomorphic fetch export default
  • 预加载队列中的 mp3 文件,以避免播放队列中下一个文件时出现任何延迟

    我正在编写一个脚本 其中我正在播放多个 mp3 并且每个文件都在队列中 播放下一个 mp3 文件会出现轻微延迟 因为缓冲 加载文件需要时间 我如何缓冲队列中的下一个 mp3 文件 以便所有文件顺利运行而没有任何延迟 getData 1 fu
  • for循环中的appendChild只添加1个孩子

    在 JavaScript 中 我使用 HTML 表格创建一个网格 您在 Photoshop 中看到的网格类型 网格大小是可变的 即可以由用户更改 因此必须计算每个网格方块的大小并将其除以可用像素数以获得精确大小的网格 我已经完成了所有这些
  • 如何将node.js应用程序转换为cordova

    我们建造了一个node js适用于台式机和平板电脑的应用程序 它是完全基于网络的应用程序 现在我计划在中实现与本机应用程序相同的应用程序android using Apache cordova 在项目目录下 我们有node modules
  • 如果按下警报,则转到“确定”按钮后的 URL

    我需要确保当用户在 JavaScript 警报窗口中单击 确定 时 浏览器会移动到不同的 URL 这可能吗 你是什 么意思 确保 alert message window location some url 在警报窗口中单击 确定 后重定向
  • 错误:“访问受限 URI 被拒绝”

    访问受限 URI 被拒绝 代码 1012 中断此错误 xhttp send null function getXML xml file if window XMLHttpRequest var xhttp new XMLHttpReques
  • sails-mongo 适配器,标准化错误消息

    我正在使用 sails mongo 适配器尝试 sailsJs 和 mongodb 将验证添加到模型后 当验证失败时 我会收到以下响应 Users js 模型 module exports schema true attributes na
  • 使用加载器 ts-node/esm.js 运行节点需要导入具有 .js 扩展名

    我正在尝试将我的 package json 设置为模块来运行节点 14 type module 如果我在打字稿文件上运行此命令 node loader ts node esm mjs experimental top level await
  • 获取此 contenteditable 元素中的当前行和行索引?

    我有一个这样的元素 span line 1 line 2 line 3 line 4 line 5 span 假设用户正在编辑 第 4 行 如何获取该 contenteditable 元素中的当前行和行索引 在插入符号位置 这是使用选择属性
  • 如何获取对象类型

    在我的 Google Apps 脚本应用程序中 我看到以下错误 脚本已完成 但返回值不是受支持的返回类型 如何找出我返回的值的类型 我试过 typeof obj 但我得到的只是它是一个对象 仅当缓存为空并且从电子表格加载数据时才会发生此错误
  • IOS - React Native - 未处理的 JS 异常:SyntaxError

    每当我创建新的 React Native 项目时 我都会遇到问题 显示红色屏幕 并在 xcode 控制台中收到以下错误消息 嗨 我有同样的问题 在这里找到了解决方案 https github com facebook react nativ
  • Phantomjs 可以工作,但速度很慢

    我正在尝试使用 PhantomJS 截取网页的屏幕截图 具体来说 我正在使用捕获的示例espn com from this http skookum com blog dynamic screenshots on the server wi
  • 图像选择器在 React Native 应用程序中不起作用,为什么?

    我已经成功安装了react native image picker 对于一个新的react本机应用程序 链接它并通过info plist文件授予正确的权限来访问相机 照片等 我正在使用 React native image picker 页

随机推荐

  • 令牌感知 Astyanax 连接池在节点上连接,无需在节点上分配连接

    我使用 astyanax 连接池定义如下 ipSeeds LOAD BALANCER HOST 9160 conPool setSeeds ipSeeds setDiscoveryType NodeDiscoveryType TOKEN A
  • 在 python pandas 中搜索 Dataframe 整行的多个字符串值

    在 pandas 数据框中 我想逐行搜索多个字符串值 如果该行包含字符串值 则该函数将根据 df 1 或 0 将该行添加 打印到 df 末尾的空列中有多个教程介绍如何选择 Pandas DataFrame 中与 部分 字符串匹配的行 例如
  • React,获取组件内绑定的父dom元素名称

    在我的组件中 如何访问它嵌套在其中的父组件的名称 所以如果我的渲染是这样的 ReactDOM render
  • 如何进入各个目录并执行命令?

    如何编写一个 bash 脚本来遍历 Parent directory 中的每个目录并executes a command in 每个目录 目录结构如下 parent directory 名称可以是任何内容 不遵循模式 001 directo
  • Mac OS X 上的弱符号链接

    目前 我在使用 Xcode 4 0 2 的 Mac OS X 10 6 7 上遇到了弱链接问题 gcc version i686 apple darwin10 gcc 4 2 1 GCC 4 2 1 Apple Inc build 5666
  • 为什么 TypeScript 无法识别 Vue 插件的模块增强?

    我正在构建一个 Vue 项目来学习 Vue 和 TypeScript 该项目有一大块静态数据 我选择将其作为 Vue 插件提供给组件 从而向 Vue 原型添加属性 import Vue from vue export default fun
  • 嵌套函数内间隔上的多个 CASE 语句

    虽然我已经想出了一个使用多个的解决方法if else if声明 我很想知道我的case声明 如下图所示 function ar vo bucket revEng v s solve solve gt 0 sqrt T ar vo s buc
  • 为什么Java String 实现中存在偏移量?

    我一直在研究实现 但不明白为什么会有偏移 我认为这很重要 我正在学习 Sedgewick 教授的算法课程 我们现在正在讨论字符串 在讲座中 他简要讨论了 String 的实现 但他没有详细说明为什么会有偏移 注意 如果讲座不是在线的 我肯定
  • RFC2898DeriveBytes 如何生成 AES 密钥?

    我看到一些代码像 string password 11111111 byte salt Encoding ASCII GetBytes 22222222 Rfc2898DeriveBytes key new Rfc2898DeriveByt
  • 不带参数的 getter 的 WSDL 类型

    我尝试编写一个 wsdl 文件 我首先在元素中定义我未来的运营 所以我需要定义一个像 getAllObjects 这样的方法 这就是为什么我不需要为 getAllObjectsRequest 设置任何参数 谁能告诉我如何为未声明任何输入参数
  • UIApplication.delegate 必须仅在主线程中使用[重复]

    这个问题在这里已经有答案了 我的应用程序委托中有以下代码 作为在其他 viewController 中使用 CoreData 的快捷方式 let ad UIApplication shared delegate as AppDelegate
  • 保存模式后立即替换数字

    搜索到的模式看起来像text9 我寻找 text 9 我想替换为 15这样我就能得到text5但它只是给了我text 除数字外 任何其他字符都有效 事实证明 PCRE 风格的反向引用不起作用 所以 你必须使用 015替换为第一个捕获组捕获的
  • AOP Spring @AfterReturning 未按预期工作

    我正在学习 AOP spring 并尝试一些例子 关于 AfterReturning 我所理解的是 仅当目标成功返回并且与切入点匹配时才会调用该方法 然而 在我的例子中 如下所示 我有一个切入点 它定义了仅返回字符串的所有方法 但它调用了所
  • 如何将 JavaPairRDD 转换为数据集?

    SparkSession createDataset 只允许List RDD or Seq 但不支持JavaPairRDD 所以如果我有一个JavaPairRDD
  • Tomcat 中连接的唯一标识符

    我想为与 Tomcat 建立的每个连接获取唯一标识符 我不是在谈论会话或用户 客户端 的唯一性 而是在谈论每个连接 假设客户端 A 发送一个 GET 然后发送另一个 在我的场景中 这是两个独立且独特的连接 Tomcat 中是否有任何变量或东
  • Python3导入相对或绝对的正确方法?

    我正在写一个 python 模块神经网络 它在 Python2 中运行良好 但在 Python3 中导入失败 这是我的代码结构 neuralnet init py train py A wrapper to train does not d
  • 如何让 Squeryl 与 Play 一起使用!框架?

    我正在尝试学习如何使用 Play 和 Squeryl 制作一个简单的数据库应用程序 我已经根据 Play 教程制作了任务应用程序 但我想更改模型 架构 以便它使用 Squeryl 而不是 Anorm 我一直在寻找不同的教程 http squ
  • 在泽西岛为自己的服务编写代理/包装类

    我想访问运行基本 http 身份验证的完整休息服务 然而 当 a提供了错误的凭证 https stackoverflow com questions 86105 how can i supress the browsers authenti
  • Spring boot 1.5.9,访问 Docker 容器内的资源镜像时出现 404 错误

    在 Spring Boot 1 5 9 应用程序中 我想使用 Google Chrome 通过 HTTP 访问静态资源 在 Docker 中我有404 error 在嵌入式tomcat中运行良好 配置 这是Dockerfile FROM o
  • 将blob发送到pythonflask然后保存

    所以我正在尝试制作一个记录你的声音的网站 问题是当我将 blob 文件或 blob url 发送到 Flask 服务器时 我的 Flask python 代码说没有内容 而它是 我该如何发送blob 因此服务器可以将其保存为文件 media