录音机,将 Blob 文件保存到服务器 - C#,Mvc

2023-11-23

我正在做的一个项目中需要一个录音机,并且录制的声音必须稍后收听。 该项目由c#和asp.net mvc开发。

http://demos.subinsb.com/jquery/voice/

我在上面的链接中使用了录音机系统。当您单击“下载”时,它会为您提供一个 .wav 格式的文件。 它已下载到您的计算机,但我想将其保存到服务器。

该项目的源代码可在链接下方找到。

我研究了 jquery 代码: 当您点击下载时

 $(document).on("click", "#download:not(.disabled)", function () {
            $.voice.export(function (url) {
                $("<a href='" + url + "'download='MyRecording.wav'></a>")[0].click();
            }, "URL");
            restore(); });

它正在这个函数中工作。函数中的 URL 参数将链接响应为

blob:http%3A//localhost%3A1875/146432b2-8b1b-4eef-8d77-1fdbc8fc74c9

当你去播放器 wav 文件中的地址正在工作,但播放器 stil 中的 src 有下面的代码

blob:http%3A//localhost%3A1875/146432b2-8b1b-4eef-8d77-1fdbc8fc74c9

问题:

如何将声音文件保存到服务器。我无法从本网站和互联网上的问题中找到任何解决方案:)

1 – 我必须使用 Jquery Ajax 将哪些参数发送到控制器?

2 – 如何在控制器端将该参数转换为 wav 或 mp3 格式?

从现在开始非常感谢你:)


我选择了 recorder.js,因为我想要定制——我只需要可以与我自己的 UI 一起使用的回调。

首先,下面是相关的 JavaScript 代码:

Recorder.js上传功能

doUpload: function(title, filename) {
    Recorder.upload({
        method: "POST",
        url: "@Url.Action("Upload", "Recordings")",
        audioParam: "Recording", // Name for the audio data parameter
        params: {
            // Additional parameters need to be an object
            "Title": title,
            "FileName": filename
        },
        success: function(response) {
            console.log(response);
        }
    });
}

在服务器端,这非常简单。您可以使用 HttpPostedFileBase 参数执行正常的控制器操作来处理文件输入。另一种方法是使用Request.Files。但是,就我而言,我使用数据模型来接收输入。

语音通道类

public class VoicePassage
{
    public string Title { get; set; }
    public string FileName { get; set; }
    public HttpPostedFileBase Recording { get; set; }
}

如何保存文件的简化版本。这人实在是太贱了。您应该在数据模型上使用标准或自定义 ValidateAttribute 来验证输入。数据模型中的某个地方也应该有一个自定义的 [MimeType("audio/wav")] 属性。

如何保存文件的简化版本

public JsonResult Upload(VoicePassage passage)
{
    // Validate the input
    // ...
    // ...

    // Save the file
    string path = Server.MapPath(string.Format("~/Recordings/{0}.wav", passage.FileName));
    passage.Recording.SaveAs(path);

    return Json(new { Success: true });
}

Recorder.upload() 函数向服务器发出 AJAX 请求,因此返回 JsonResult 而不是 ActionResult 是有意义的。回到客户端,您可以简单地处理结果并采取操作,例如将其附加到列表或显示错误。

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

录音机,将 Blob 文件保存到服务器 - C#,Mvc 的相关文章

  • 无法注册时间触发的后台任务

    对于 Windows 8 应用程序 在 C Xaml 中 我尝试注册后台任务 很难说 但我想我的后台任务已正确注册 但是当我单击调试位置工具栏上的后台任务名称时 我的应用程序停止工作 没有任何消息 我查看了事件查看器上的日志 得到 具有入口
  • 如何在 C# Designer.cs 代码中使用常量字符串?

    如何在 designer cs 文件中引用常量字符串 一个直接的答案是在我的 cs 文件中创建一个私有字符串变量 然后编辑 Designer cs 文件以使用此变量 而不是对字符串进行硬编码 但设计者不喜欢这样抛出错误 我明白为什么这行不通
  • 播放没有音频标签的音频

    是否可以在没有音频标签的情况下仅使用 javascript 播放音频 我通过 tinyMce 编辑器注入脚本 因为我无权访问网站的后端 并且它不支持客户端的音频标签 她只想要当您将鼠标悬停在图像上时发出简单的声音 我已经完成了所有设置 但是
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • 在 VS 中运行时如何查看 C# 控制台程序的输出?

    我刚刚编写了一个名为 helloworld 的聪明程序 它是一个 C NET 4 5 控制台应用程序 在扭曲的嵌套逻辑迷宫深处 使用了 Console WriteLine 当我在命令行运行它时 它会运行并且我会看到输出 我可以执行其他命令并
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • 轮播滑动(未滑动)事件上的火灾事件,Bootstrap 3

    Bootstrap 2 似乎可以很好地处理幻灯片事件 请参阅这个问题 https stackoverflow com questions 9651466 how to attach slide slid events to the boot
  • javascript - 如何获取对象名称或关联数组索引名称?

    我有一个像这样的 JSON 对象 var list name1 element1 value1 name2 element1 value2 如何提取所有 nameX 字符串值 例如 假设我想将它们连接在一个字符串中输出 例如 name1 n
  • 模板外部链接?谁能解释一下吗?

    模板名称具有链接 3 5 非成员函数模板可以有内部链接 任何其他模板名称应具有外部链接 从具有内部链接的模板生成的实体与在其他翻译单元中生成的所有实体不同 我知道使用关键字的外部链接 extern C EX extern C templat
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • 使动态创建的链接标签在 Winforms 中可点击

    我正在制作一个程序 允许用户单击由动态链接标签创建的公司名称 在我想知道如何做到这一点之前 我从未在 C 中使用过链接标签 可为特定用户生成的业务数量各不相同 因此每个用户的链接标签数量并不相同 然后我想捕获业务 ID 以进行 Json 调
  • Visual Studio 2015:v120 与 v140?

    仅供参考 Win10 x64 我今天开始尝试 Visual Studio 2015 在弄清楚如何运行 C C 部分后 我尝试加载一个大型个人项目 该项目使用非官方的glsdk http glsdk sourceforge net docs
  • WPF DataGrid / ListView 绑定到数组 mvvm

    我们假设你有 N 个整数的数组 表示行数的整数值 在模型中 该整数绑定到视图中的 ComboBox Q1 如何将数组 或数组的各个项目 绑定到 DataGrid 或 ListView 控件 以便 当您更改 ComboBox 值时 只有那么多
  • 代码中的.net Access Forms身份验证“超时”值

    我正在向我的应用程序添加注销过期警报 并希望从我的代码访问我的 web config 表单身份验证 超时 值 我有什么办法可以做到这一点吗 我认为您可以从 FormsAuthentication 静态类方法中读取它 这比直接读取 web c
  • jQuery Mobile + Admob:轮换?

    我使用 jQuery Mobile 框架创建了一个移动应用程序 所有页面都在index php中加载 使用 div 在每个页面的页脚中 我添加了Admob代码 div div div
  • 了解 Lambda 表达式和委托 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经尝试解决这个问题很长一段时间了 阅读在线博客和文章 但到目前为止还没有成功 什么是代表 什么是 Lambda 表达式 两者的优点
  • 在 Win32 控制台应用程序中设置光标位置

    如何在 Win32 控制台应用程序中设置光标位置 最好 我想避免制作句柄并使用 Windows 控制台功能 我花了整个早上沿着那条黑暗的小巷跑 它产生的问题比它解决的问题还要多 我似乎记得当我在大学时使用 stdio 做这件事相对简单 但我
  • 如何从 html 字符串向 jQuery DataTable 添加多行

    我有一个 jQuery DataTable 我想向其中添加 html tr 行 这些行以 html 字符串的形式出现 我可以使用标准 jQuery 将它们添加到表中 但这意味着它们绕过 DataTable 对象 并在重新排序表时丢失 要使用
  • 我可以使用 lambda 函数或 std::function 对象来代替函数指针吗?

    我有一个需要使用的库 它定义了以下内容 typedef void CallbackFunction const int i 并且有一个注册回调的函数 如下所示 void registerCallback CallbackFunction p

随机推荐

  • 根据类的当前实现,通过直接枚举 ConcurrentDictionary 将 ConcurrentDictionary 复制到普通 Dictionary 是否安全?

    TL DR 是否可以单独枚举一个ConcurrentDictionary 发出相同的密钥两次 是否目前的实施 of the ConcurrentDictionary类 NET 5 允许这种可能性吗 我有一个ConcurrentDiction
  • 如何在Python Requests库中实现重试机制?

    我想为Python添加重试机制Requests库 因此使用它的脚本将重试非致命错误 目前我确实认为三种错误是可以恢复的 HTTP 返回代码 502 503 504 找不到主机 现在不太重要 请求超时 在第一阶段 我确实想每分钟重试指定的 5
  • Avro Schema 激发 StructType

    这实际上与我的相同上一个问题 但使用 Avro 而不是 JSON 作为数据格式 我正在使用 Spark 数据框 它可以从几个不同的架构版本之一加载数据 Version One namespace com example avro type
  • 安装没有 package.json 文件的 Cordova 插件

    我正在尝试使用 Cordova CLI 7 安装 Cordova 插件 该插件没有 package json 文件 因此将其添加到我的项目时会抛出错误 我尝试使用plugman 转换config xml 文件 它在 Android 上运行良
  • Okhttp 检查文件大小而不下载文件

    okhttp常见的例子涵盖了get和post的场景 但我需要获取带有 url 的文件的文件大小 因为我需要通知用户 并且只有在获得他们的批准后才能下载文件 目前我正在使用这段代码 URL url new URL http server co
  • Netty Channel.write 不写入消息

    我正在尝试使用 Netty 迈出第一步 为此我在 Netty 上编写了简单的服务器 在 oio plain TCP 上编写了简单的客户端 客户端发送随机文本数据包 并且必须收到 Ack 消息 查看处理程序方法 Override public
  • 在调用 save() 之前必须手动分配此类的 ids

    我的休眠有一些问题 OneToMany映射 就像这里一样 Entity Table name albums SequenceGenerator name ALBUMS SEQ sequenceName albums seq allocati
  • 将 Python 内置类型替换为自定义类型

    是否可以用自定义类型替换一些内置的 python 类型 我想创建类似的东西 class MyInt object builtin int MyInt x 5 您似乎在问是否可以覆盖输入时创建的类型literals 答案是不 你不能做到这样x
  • Android 应用程序仅为一项活动启用 NFC

    对于支持 NFC 的应用程序 是否可以仅针对 Android 中的一项活动启用 NFC 我读过这个 仅从特定活动中读取 NFC 标签 但设备仍在扫描应用程序所有活动的标签 EDIT
  • 将指标从 telegraf 发送到 prometheus

    我在跑prometheus and telegraf在同一主机上 我正在使用一些输入插件 输入 cpu 输入 ntpq 我已经配置为prometheus client输出插件将数据发送到prometheus 这是我的配置 outputs p
  • 带有按名称调用参数的函数文字

    如何在 scala 中定义带有按名称调用参数的匿名函数 我尝试了以下方法 val fun x Boolean y gt Int gt if x y else 0 这适用于按值调用 y 但不适用于按名称调用 为什么 这是可以做到的 但方式略有
  • 静态、常量和只读字段的内存分配在哪里?

    我已经在程序中使用了这三个字段 并得到了用法上的差异 但我有点困惑这些字段存储在哪里 是在数据段 堆栈还是堆 还是代码段 static int a const int b 1235 readonly int c 在ILDASM中字段描述如下
  • 什么是顶级 const 限定符?

    什么是constC 中的 顶级 限定符是什么意思 那么其他级别是什么 例如 int const i int const i int const const i 顶级 const 限定符影响对象本身 其他的都只是 与指针和参考文献相关 他们不
  • 如何从 Maven 项目外部链接源?

    在 Maven 中 是否可以从项目文件夹外部链接其他依赖的 java src 以便当我们构建主包时 maven 可以将此类类包含到最终的 jar 中 就像我们可以将任何源文件夹链接到 Eclipse 中的项目并且 Eclipse 将其视为常
  • 读取以 null 结尾的字符串

    我正在从二进制文件读取字符串 每个字符串都以 null 结尾 编码为UTF 8 在 python 中 我只是读取一个字节 检查它是否为 0 将其附加到字节数组 然后继续读取字节 直到看到 0 然后我将字节数组转换为字符串并继续 所有字符串均
  • 如何在 KNPMenuBundle 中将“当前”类更改为“活动”类

    我想知道 将 当前 类更改为 活动 以便 Bootstrap 能够正确使用它的最佳方法是什么 我考虑过复制并覆盖 knp menu html twig 但我认为这不是最好的方法 无论如何 这样做更好吗 要在所有应用程序中应用默认选项 您可以
  • bash 命令是否可以在上一个命令的结果之前继续执行?

    当从 bash 脚本运行命令时 bash 是否总是等待上一个命令完成 还是只是启动命令然后继续执行下一个命令 即 如果从 bash 脚本运行以下两个命令 事情可能会失败吗 cp tmp a tmp b cp tmp b tmp c 是的 如
  • ExecuteReader 需要一个打开且可用的连接。连接的当前状态已关闭

    好吧 我在本周早些时候询问了这个错误 并得到了一些非常有用的答案 毫无疑问 自从我开始遵循这些建议以来 情况已经有了很大的改善 但是 现在我使用 正确 的最佳实践方法来访问数据库 我仍然在某些函数上遇到此错误 并且无法让它在该块中消失 这是
  • 如何在 Java 中将 .js 文件加载到 Rhino 上下文中

    这是我的情况 我可以访问 Java 类中的 Rhino Context 对象 我想读入一堆 js 文件并将它们传递到 Rhino 上下文以对它们进行评估 我对在脚本上下文中使用 js 文件中的函数并不真正感兴趣 而只是对在 js 文件中声明
  • 录音机,将 Blob 文件保存到服务器 - C#,Mvc

    我正在做的一个项目中需要一个录音机 并且录制的声音必须稍后收听 该项目由c 和asp net mvc开发 http demos subinsb com jquery voice 我在上面的链接中使用了录音机系统 当您单击 下载 时 它会为您