首页 > 解决方案 > 录制音频并发送到 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);

标签: javascriptjquerysymfonyaudio

解决方案


尝试这个:

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

如何使用FormData进行ajax文件上传


推荐阅读