0

私はrecorder.js-masterである優れたオーディオレコーダーを使用してきました。しかし、MVC コントローラーでアップロードを機能させることはできません。

これが私の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 });
    }

Upload にブレークポイントがあるのは、それが Controller に送られることを知るためだけですが、そうではありません。助けてください。これが私が従うリファレンスです。http://marc.codewisp.com/2013/05/07/in-browser-audio-recording-recorder-js-asp-net-mvc/?replytocom=12#respond

よろしく、

キリスト教徒

4

1 に答える 1

2

私はあなたがリンクした元の投稿の著者です。

試してみるいくつかのこと:

  • JavaScript 関数にブレークポイントを追加します。ヒットしない場合は、JavaScript に問題があります。
  • ブラウザのネットワーク アクティビティを確認します。 の のChromeDeveloper ToolsにあるNetworkタブに移動し、アップロードを試みます。正しい URL にアクセスしているかどうかを確認します。
  • '@Url.Action...'Razor ビュー内で使用していることを確認してください。外部の JavaScript ファイルでは機能しません。

必要な場合は@Url.Action、おそらく Razor ビューで使用し、一時的なグローバル変数に割り当てて、外部 JavaScript ファイルで使用できます。

ビューで、外部 JS への参照の前に次を追加します。

<script type="text/javascript">
    var audioAction = '@Url.Action("Upload", "Audio")';
</script>

JavaScript ファイルで、次のように に変更'@Url.Action("Upload", "Audio")'しますaudioAction

function AudioUpload(title, description) {
    Recorder.upload({
        method: "POST",
        url: audioAction,
        audioParam: "Recording", 
        params: {
            "Title": title,
            "Description": description
        },
        success: function (responseText) {     
            alert(responseText.Success);
        },
        error: function () {                 
            alert("error");
        },
        progress: NULL            
    });
}
于 2013-09-23T13:24:14.877 に答える