javascript - 录制音频并发送到 Symfony
问题描述
我想简单地录制音频并将文件发送到我的控制器。我正在使用https://addpipe.com/simple-recorderjs-demo/录制我的音频,这工作得很好。但是当我想将我的实际发送到我的 Symfony 4 项目中的任何东西时,它永远不会收到任何东西。所以我想我手动重新制作了一个插入音频 blob 的表单,但也没有成功。
任何想法如何做到这一点?任何朝着正确方向的线索都会很棒!
我尝试将音频文件简单地插入现有表单,但出于安全原因,不再允许这样做。
var formElement = document.querySelector("form");
var formData = new FormData(formElement);
var request = new XMLHttpRequest();
request.open("POST", "http://127.0.0.1/index.php/processaudio");
formData.set("form_file", blob, 'file');
request.send(formData);
解决方案
尝试这个:
var formElement = document.querySelector("form");
var formData = new FormData(formElement);
var request = new XMLHttpRequest();
request.open("POST", "http://127.0.0.1/index.php/processaudio");
var fileSelect = document.getElementById("fileSelect");
if(fileSelect.files && fileSelect.files.length == 1){
var file = fileSelect.files[0]
formData.set("file", file , file.name);
request.send(formData);
}
fileSelect 是输入文件的 id
见:https ://dev.to/imben1109/html-form-ajax-file-upload-front-end-2klc
或者如果你想使用 jquery
推荐阅读
- reactjs - 为什么在反应中切换类不起作用?
- java - 条件绑定无法按预期工作
- bash - awk 从 csv 文件总结 for 循环中的最后 n 个元素
- javascript - 嵌套的一些功能停留在第一个元素上
- biztalk - BizTalk 2016 - 没有 BtsControl 了吗?如何通过脚本停止给定的 BizTalk 应用程序?
- javascript - 使用 JSON、JQUERY 和 AJAX 创建图表
- node.js - 在正态分布中拟合 mongo 用户集合
- redirect - Apache 2.4 精确重定向匹配字符串
- flutter - 如何在函数中获取上下文?
- mongodb - MongoDB:根据同一对象上的其他字段向数组中的所有对象添加字段?