如何通过MVC控制器上传录制的音频(recorder.js-master)?

时间:2013-09-21 13:40:25

标签: asp.net-mvc audio recorder

我一直在使用一台优秀的录音机,它是recorder.js-master。 但我无法使用MVC Controller上传。

这是我的javascript功能。

function AudioUpload(title, description) {
    Recorder.upload({
        method: "POST",
        url: '@Url.Action("Upload", "Audio")',
        audioParam: "Recording", 
        params: {
            "Title": title,
            "Description": description
        },
        success: function (responseText) {     
            alert(responseText.Success);
        },
        error: function () {                 
            alert("error");
        },
        progress: NULL            
    });
}

这是我的AudioController

    public JsonResult Upload(VoicePassage passage)
    {
        //upload Audio

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

我在上传中有一个断点只是为了知道它会进入我的控制器,但事实并非如此。 请帮忙。 这是我遵循的参考。 http://marc.codewisp.com/2013/05/07/in-browser-audio-recording-recorder-js-asp-net-mvc/?replytocom=12#respond

此致

基督教

1 个答案:

答案 0 :(得分:2)

我是您关联的原始帖子的作者。

要尝试的一些事情:

  • 在JavaScript函数中添加一个断点:如果它没有命中,那么你的JavaScript出了问题。
  • 检查浏览器的网络活动:在Chrome的{​​{1}}下,转到Developer Tools标签并尝试上传。看看它是否正在访问正确的URL。
  • 确保您在Razor视图中使用Network。它不适用于外部JavaScript文件。

如果您需要'@Url.Action...',您可以在Razor视图中使用它,将其分配给临时全局变量并在外部JavaScript文件中使用它。

在您的视图中,在引用外部JS之前添加以下内容:

@Url.Action

在您的JavaScript文件中,将<script type="text/javascript"> var audioAction = '@Url.Action("Upload", "Audio")'; </script> 更改为'@Url.Action("Upload", "Audio")',如:

audioAction